【发布时间】:2017-06-23 04:36:57
【问题描述】:
这是我的代码
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] data = new int[10];
int count = 0;
do {
System.out.print("Enter a number or ctrl + z when you are done: ");
data[count] = input.nextInt();
}
while (input.hasNextDouble());
}
}
输出
Enter a number or ctrl + z when you are done: 2
4
Enter a number or ctrl + z when you are done: 6
Enter a number or ctrl + z when you are done: 8
我的问题是我不知道为什么代码在第二次进入循环时会在do { 之后跳转System.out.print("Enter a number or ctrl + z when you are done: ");。这可以在输出的第二行中看到。请问我做错了什么?
我已经搜索了我的问题可能已经得到解答但只能找到与代码跳过相关的解决方案nextLine()
【问题讨论】:
-
读取整数时为什么要检查流中是否有另一个双精度数?