为什么我的程序在循环时不打印偶数?

时间:2015-04-24 02:37:09

标签: java loops netbeans 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);

   }
}

3 个答案:

答案 0 :(得分:1)

你的代码应该是

{{1}}

答案 1 :(得分:0)

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)        
  }

答案 2 :(得分:0)

这很简单,可能已在评论中回答,但这里有一个更完整的代码块:

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);

您应该查看此代码的所有部分,并确保了解它是如何工作的,并查看您出错的地方。