这是一个打印任何给定整数之间所有偶数的程序。
import java.util.*;
public class Question1
{
private int i;
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
System.out.println("Give me a number!");
int i = scanner.nextInt();
if ((i % 2) != 0)
{
i = i - 1;
do
{
System.out.println(i);
i = i - 2;
} while (i != -2);
}
}
}
所以,如果我给数字11,它会打印出10、8、6、4、2。既然while语句包含i,为什么它不打印0呢!=-2和0算偶数?
因为在scanner.nextInt();
之后必须放入scanner.nextLine();
else,所以扫描仪从nextInt();
获得的最后一个元素将被忽略。
即便如此,你的算法还是非常令人眩晕。为什么不试试:
Scanner in = new Scanner( System.in );
int number = in.nextInt(); in.nextLine();
for( int i = 0; i <= number; i += 2 ) {
System.out.println( i );
}