Java 为什么我的代码只执行一次
我想打印所有的偶数,但它只给我0Java 为什么我的代码只执行一次,java,Java,我想打印所有的偶数,但它只给我0 public class DataType { public static void main(String[] args){ int number=0; int max=20; do{ System.out.println("this is an even number"+ number); number++; }while(number<=max&&EvenNumber(
public class DataType {
public static void main(String[] args){
int number=0;
int max=20;
do{
System.out.println("this is an even number"+ number);
number++;
}while(number<=max&&EvenNumber(number));
}
public static boolean EvenNumber(int a)
{
if((a%2)==0)
{
return true;
}else
return false;
}
}
公共类数据类型{
公共静态void main(字符串[]args){
整数=0;
int max=20;
做{
System.out.println(“这是一个偶数”+数字);
数字++;
}while(number这是您的条件声明:在两个条件都满足时执行!在第一次执行number++后,条件左侧返回false,循环完成
你的意思是肯定的:
do {
if (isEvenNumber(number)) {
System.out.println("this is an even number" + number);
}
number++;
} while (number <= max);
do{
如果(isEvenNumber(编号)){
System.out.println(“这是一个偶数”+数字);
}
数字++;
}而(number在number++;
之后,number
变为1
,因此条件变为false
,循环终止
我猜,你想这么做
do {
if (isEvenNumber(number)) System.out.println(number);
number++;
} while(number<=max);
do{
if(isEvenNumber(编号))系统输出打印项次(编号);
数字++;
}while(number因为在您的代码中,如果number等于1,而条件为false如果您打算查找[0,20]
之间的所有偶数,您可以将代码更改为此版本:
public static void main(String[] args) {
int max=20;
for (int number = 0; number <= max; number++) {
if (number % 2 == 0) {
System.out.printf("%d is an even number.\n", number);
}
}
}
publicstaticvoidmain(字符串[]args){
int max=20;
对于(int number=0;number,因为在第二次迭代中循环将退出。
如果要打印偶数,则代码应为
do{
if(EvenNumber(number)) {
System.out.println("this is an even number"+ number);
}
number++;
}while(number<=max );
do{
if(偶数(数字)){
System.out.println(“这是一个偶数”+数字);
}
数字++;
}当(数字因为在第一次执行后,number
将是1,所以您的EvenNumber
检查将返回false。下次附加一个调试器。@Kon您的意思是*1,右在整数算术中,偶数永远不会连续;它们总是与奇数间隔。如果您将1
添加到任何偶数,您将得到奇数那么,一旦我在do while循环中的条件语句为false,它会使整个循环停止吗?
do{
if(EvenNumber(number)) {
System.out.println("this is an even number"+ number);
}
number++;
}while(number<=max );