这个程序应该有一个“while”循环,它会重复询问一个数字,直到给出一个可被6或17整除的数字。发生这种情况时,程序应显示读取的数字总数,这些数字不能被6或17整除。
import java.util.Scanner;
public class DivisibleBy6or17 {
public static void main(String[] args) {
Scanner kbd = new Scanner (System.in);
System.out.print("Enter Value : ");
int nbr = kbd.nextInt();
int count = 0;
while ((nbr % 7 ==0 ) && (nbr % 16 == 0)){
count++;
System.out.print("Enter Value: ");
nbr = kbd.nextInt();
}
System.out.println("Numbers read : " + count);
}
}
答案 0 :(得分:0)
尝试
while (!((nbr % 7 ==0 ) && (nbr % 16 == 0))){
你想做的却是假的
答案 1 :(得分:0)
条件错误,它应该是while循环中的操作数。
import java.util.Scanner;
public class DivisibleBy6or17 {
public static void main(String[] args) {
Scanner kbd = new Scanner (System.in);
System.out.print("Enter Value : ");
int nbr = kbd.nextInt();
int count = 0;
while (!((nbr % 17 == 0 ) || (nbr % 6 == 0))){
count++;
System.out.print("Enter Value: ");
nbr = kbd.nextInt();
}
System.out.println("Numbers read : " + count);
}
}
答案 2 :(得分:0)
尝试使用或(||)代替和(&&)
答案 3 :(得分:0)
更改
while ((nbr % 7 ==0 ) && (nbr % 16 == 0)){
count++;
System.out.print("Enter Value: ");
nbr = kbd.nextInt();
}
要
/* while nbr **isn't** divisible by 7 or 16 */
while (! ((nbr % 7 == 0 ) || (nbr % 16 == 0)) ){
count++;
System.out.print("Enter Value: ");
nbr = kbd.nextInt();
}
答案 4 :(得分:0)
试试这个
不确定数字是否正确,您提出的问题是提及与代码不同的数字。我已经使用了代码中的那些。
import java.util.Scanner;
public class DivisibleBy6or17 {
public static void main(String[] args) {
Scanner kbd = new Scanner (System.in);
int count = 0;
//loop forever
while ( true ) {
//prompt
System.out.print("Enter Value : ");
int nbr = kbd.nextInt();
//if number is divisible
if ( nbr % 7 == 0 || nbr % 16 == 0 ) {
//leave loop
break;
} else {
//add to count
count++;
}
}
System.out.println("Numbers read : " + count);
}
}