[英]Unable to take input with Scanner class
参见下面的代码,在此代码中,我想一次又一次为每个输入实例声明Scanner类实例,我知道我可以在循环外声明Scanner类实例,这样就可以解决问题。 但是,我仅向您展示如何在其他地方实现相同的概念。 我无法在此处编写该代码,这就是为什么我希望您能通过理解我的观点为我提供最佳解决方案。
import java.util.Scanner;
public class TestScanner {
public static void main(String[] args) {
int a[] = new int[4];
System.out.println("Enter elements in array: ");
for (int i = 0; i < a.length; i++) {
Scanner scanner = new Scanner(System.in);
a[i] = scanner.nextInt();
scanner.close();
}
System.out.println("The Arrays is : ");
for (int i : a) {
System.out.println(i + " ");
}
}
}
删除行scanner.close();
因为它禁止通过System.in
接受新输入。 在for
循环的每次迭代中,您仍然需要scanner
。
您可以像这样修改代码。 您可以在循环内重复使用scanner
对象,而无需在每次迭代中创建一个。
Scanner scanner;
for (int i = 0; i < a.length; i++) {
scanner = new Scanner(System.in);
a[i] = scanner.nextInt();
}
scanner.close();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.