[英]why do we use < and not <= in second loop while printing prime numbers
[英]Why is my program not printing even numbers do while loop?
我创建了一个do while循环,即使使用modjule符号,它仍然无法从列表中打印偶数,这是怎么回事?
int w=1;
do {
Scanner keyboard = new Scanner(System.in);
System.out.println(w);
w++;
if(w%2==0);
}
while (w<=2015);
}
}
您的代码应该是
int w=1;
do {
Scanner keyboard = new Scanner(System.in);
System.out.println(w);
if(w%2==0)
System.out.println("Even value : "+ w);
w++;
}
while (w<=2015);
}
}
if
语句后删除分号
if(w%2==0); <- Remove this semicolon
并在if语句中获取或打印偶数。
if(w%2==0){
System.out.println("Even valud is "+ w)
}
对于均匀测试,我更希望按位&
操作以提高性能。
if((w & 1) ==0){// & is more faster than %
System.out.println("Even valud is "+ w)
}
这非常简单,可能已经在注释中得到了答案,但这是一个更完整的代码块:
Scanner keyboard = new Scanner(System.in); // you never use this, why is it here?
int w=1;
do {
w++;
if(w % 2==1)
System.out.println("Odd: " + w);
else System.out.println("Even: " + w);
} while (w <= 2015);
您可能应该查看此代码的所有部分,并确保您看到它的实际工作原理以及错误的出处。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.