首页 > 解决方案 > 如何修复“线程中的异常”main“java.util.NoSuchElementException:找不到行”和其他两个错误?

问题描述

我是java初学者,我想制作待办事项列表。问题是我用很多无用的代码制作了扫描仪功能,主要问题是,当我点击“1”完成待办事项列表时,一切正常,但是当我点击“0”继续做列表时,我得到了日食中的3个错误:

我真的很想摆脱它并且仍然练习。

import java.util.Scanner;

public class ToDo {

  public static void main(String[] args) {

      Scanner input1 = new Scanner(System.in);
      System.out.println("Put in task: ");
      String task1 = input1.nextLine();
      System.out.println("Is that all?  ");
      double answer1 = input1.nextDouble();
      input1.close();
      if(answer1 == 1) {
          System.out.println("Your tasks are:\n" + task1);
          System.exit(0);
      } else if(answer1 == 0) {
          System.out.println("\n");
      }
      Scanner input2 = new Scanner(System.in);
      System.out.println("Put in task: ");
      String task2 = input2.nextLine();
      System.out.println("Is that all?  ");
      double answer2 = input2.nextDouble();
      input2.close();
      if(answer2 != 0) {
          System.out.println("Your tasks are:\n" + task1 + task2);
          System.exit(0);
      } else if(answer2 != 1) {
          System.out.println("\n");
      }
  }
}

标签: javajava.util.scanner

解决方案


这是因为当你这样做时input1.close();,它也会关闭System.in输入流。

理想情况下,您应该使用相同的扫描仪对象,但您也可以通过删除input1.close();.

更多信息可以在这里这里找到。


推荐阅读