繁体   English   中英

无法接受Scanner类的输入

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM