簡體   English   中英

java中2的倍數的正則表達式

[英]Regular expression for multiple of 2 in java

我想知道如何為多個 2 編寫正則表達式。

例如 :

2 4 6 8 10..

我想忽略“%”的奇數,我想拆分“,”。

例如 :

String.split("(?<!%{odd number}),");

您不需要為此使用正則表達式 - 這太過分了。

相反,您可以簡單地除以 2 並檢查余數是否為 0 - 如果是,則您知道您的數字是 2 的倍數。

得到余數:

int x = 3;
int remainder = x % 2

if (remainder == 0) {
    //multiple of 2
} else {
    //not multiple of 2
}

Martin Konecny在這件事上使用正則表達式是正確的,這是一種矯枉過正,您可以通過其他方式完成您想要的事情如下:

如果他們阻止您使用%操作數,您也可以使用這種方式

代碼:

            try(Scanner input = new Scanner(System.in)){
            System.out.print("Enter your number to see if it is odd or even: ");
            int result = input.nextInt();
            while( result >= 2){
                result -= 2; 
            }
            if ( result == 1) {
                System.out.println("odd");

            }else
                System.out.println("even ");
        }

解釋:當你得到一個時,你不斷地從數字中減去 2 是奇數,否則它是偶數

注:這是一道面試題

Java 8

代碼:

List<Integer> list = Arrays.asList(1,2,3,4);
        list.stream()
            .filter( i -> i%2 == 0 )
            .forEach( i -> System.out.print(" " + i));

輸出:

 2 4 

假設您的輸入類似於: "%%%,%%,%%%%,%"並且您希望以["%%","%%%%"]結尾,首先在逗號上拆分:

String[] split= "%%%,%%,%%%%,%".split(",");

然后按偶數個'%'過濾掉

ArrayList<String> result = new ArrayList();
for(String s:split){
    if(!s.matches("(%%)*%"))
        result.add(s);
}
System.out.println(result);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM