这是我的代码,我遇到了麻烦,为什么特别是当这应该相当简单时。我想提示用户输入一个数字,然后将全局声明的int设置为该数字。 "成员" int初始化为0,无论我尝试什么,当我打印成员时,即使我输入一个数字>它也会显示0 0
Scanner sc = new Scanner(System.in); // Create a scanner object
System.out.println("Enter amount of members"); // Prompt user
while (!sc.hasNextInt()) {
sc.next();
try {
members = sc.nextInt(); // set entered value to members int
} catch (Exception e) { // catch exceptions.
System.out.println("Error please enter a number greater than 0");
sc.nextLine(); // clear line to prevent infinite loop
}
}
sc.nextLine(); // clear input
答案 0 :(得分:-2)
将sc.nextInt()
和sc.hasNext()
用于while循环条件。
while (sc.hasNext()){
members = reader.nextInt();
...
}
另外,我们不会使用sc.nextLine();
清除行。
您需要详细了解如何使用扫描仪, Java Scanner Continuous User input?