簡體   English   中英

多條件Java循環

[英]Multiple Conditions Java Loop

因此,我自己學習Java,我想創建一個程序,該程序在給定間隔[A,B]中返回數字N的除數。 這是我的代碼

Scanner in = new Scanner(System.in);
        int n, a, b;

System.out.print("A: ");
        a = in.nextInt();

System.out.print("B: ");
    b = in.nextInt();

System.out.print("N: ");
    n = in.nextInt();

System.out.printf("The divisors of %d in the interval [%d, %d] are: ", n, a, b);

    for (int i = 1; i <= n & i < b; ++i){
        if (n % i == 0){
            System.out.println(i + " ");
        }
    }

這是問題所在:當我在for條件中放入<i&i <b時,該程序無法正常工作。 我已經讀過Java在短路,但是我可以修復我的代碼還是應該使用一段時間或類似的東西?

Java中的邏輯AND運算符是&& ,不是& ,后者是按位 AND運算符。 但是,您甚至不需要條件a <= i && i <= b ,因為您可以簡單地將循環變量初始化為a

for (int i=a; i <= b; ++i) {
    if (n % i == 0) {
        System.out.println("Found divisor: " + i);
    }
}

上面Tim的答案是一個很好的答案,但您還詢問是否可以/應該在while循環中這樣做。 如果您想使用while循環,一個簡單的實現就是

while (a <= b) {
    if (n % a == 0) {
      System.out.println("Found divisor: " + a);
    }
    a++;
}

暫無
暫無

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

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