当前位置: 首页 > 知识库问答 >
问题:

当创建另一个扫描程序时,NoSuchElementException将重新转换到第一个扫描程序

裴欣荣
2023-03-14

所以可能有一个人在小组谁有类似的问题,但我找不到一个接近我的。我不能让两个扫描仪一个接一个地工作...增加第二个扫描仪使第一个发疯和扔

static Scanner program = new Scanner(System.in);
static Scanner name_input = new Scanner(System.in);

public static void main(String[] argumentai){



    System.out.println("Welcome to Java IDE !");

    name();
    jar();


}


public static String name() {



    String name_select;
    System.out.println("name yourself");
    name_select = name_input.next();
    name_input.close();

    return name_select;

}

public static int jar(){


    int jar_select;                         // input variable (1-6) for "if" statement

    int jar_weight_assigned = 0;                   //unassigned capacity (applied by default if error occurs (outside 1-6 bounds))
    String jar_name_assigned = "";               //unassigned name (applied by default if error occurs (outside 1-6 bounds))

    int custom_jar_cap = 0;                     //custom "int" variable (custom jar)
    String custom_jar_name = "";                 //custom "String" variable (custom jar)

    int[] jar_weight_arr = new int[5];         //jar capacity array
    String[] jar_name_arr = new String[5];  //jar name array

    jar_weight_arr[0] = 9;
    jar_weight_arr[1] = 99;
    jar_weight_arr[2] = 999;
    jar_weight_arr[3] = 9999;
    jar_weight_arr[4] = 99999;

    jar_name_arr[0] = "bybiene22";
    jar_name_arr[1] = "bybiene44";
    jar_name_arr[2] = "bybiene66";
    jar_name_arr[3] = "bybiene88";
    jar_name_arr[4] = "bybiene000";

    jar_select = program.nextInt();
    ...
    ...
    ...

其余的代码也是如此。

当我运行它时,我可以输入一个名称,但之后我会得到“NoSuchelementException”,它引用:

jar_select=program.nextint();(扫描程序打开的位置)

jar();

共有1个答案

戈正初
2023-03-14

该问题隐藏在scanner.close后面。每当关闭扫描程序时,也会关闭基础的系统。in,因此在使用第二个扫描程序访问它时,它将无法使用文本。

解决方案:不要关闭第一个扫描程序

 类似资料:
  • 问题内容: 我的Java作业有问题。我遇到了意外的异常,特别是: java.util.NoSuchElementException:找不到行 我正在使用,该程序不断读取任何内容,并重复“无效格式”异常文本。如果输入正确的值,则第一部分通过,然后该部分立即进入此异常。如果输入的值不正确,则它将开始循环异常。 这是我的代码: 问题答案: 您关闭了多个库,这些库关闭了底层库,因此另一个库将不再从同一库和

  • 问题内容: 逻辑工作正常,但是,当while循环结束并重新开始时,使用此行从键盘再次读取我的下一个选项-> option = kb.nextInt(); 。它给了我一个例外,更确切地说是下面的一个例外: 下面是我的代码,为什么此扫描程序会生成此错误?还有其他从键盘读取的方法吗? 下面的此方法在另一个类文件RegistrationController.java上,因此由上面的rc viariable

  • Player类如下所示: 前面的main方法(它使用多个扫描器,包括try-with-recours,没有任何错误或异常)如下所示:

  • 我试图扫描一个整数,并运行一个循环来扫描字符串,直到那个整数。但这段代码跳过了第一个字符串... 有解决办法吗?

  • 问题内容: 在我当前的程序中,一种方法要求用户输入产品描述作为输入。但是,当我以后尝试打印此信息时,仅显示节目的第一个单词。这可能是什么原因?我的方法如下: 因此,如果用户输入的是“带有橙味的汽水”,则只会产生“ 汽水”。 任何帮助将不胜感激! 问题答案: 替换为:

  • 下面的代码显示了一个错误。我对编码很陌生。这东西弄乱了我的脑袋。我能做什么? 下面的代码在编辑之后。但它仍然显示出NoSuchElementFound异常的相同错误。