[英]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.