【问题标题】:Getting NoSuchElementException while reading a variable读取变量时出现 NoSuchElementException
【发布时间】:2020-02-17 18:40:29
【问题描述】:

我正在尝试调用一个名为“cnpPacient”的方法。运行此方法后,我在读取变量“cnp”的行中得到一个 NoSuchElementException。

static void cnpPacient() {
    Scanner x = new Scanner(System.in);
    System.out.println("INTRODUCETI CNP-ul PACIENTULUI :");
    int cnp = x.nextInt();
    x.close();
}

我该如何解决?

【问题讨论】:

  • 你是否在运行后证明它的输入?
  • 看起来有人在System.in上叫close()
  • @kann 当运行这行代码程序停止工作并给出这个异常时,我不提供任何价值
  • @Cristyan Scanner 用于通过控制台从用户那里获取一些输入。除非您提供输入,否则此程序将不会继续。
  • @TrishulSinghChoudhary,因为 OP 说代码抛出了 NoSuchElementException,它不是在等待输入,而是检测到没有输入将到达,即因为流已关闭。鉴于此显示的代码已经包含这样的close() 调用,这并不太牵强。可能是重复调用此方法或包含类似close() 调用的另一个方法...

标签: java eclipse java-8


【解决方案1】:

当提供 2 作为输入并且打印相同时,对我来说效果很好。

public static void main(String[] args) {
     cnpPacient();
}

static void cnpPacient() {
    Scanner x = new Scanner(System.in);
    System.out.println("INTRODUCETI CNP-ul PACIENTULUI :");
    int cnp = x.nextInt();
    System.out.println(cnp);
    x.close();
}

输出:

INTRODUCETI CNP-ul PACIENTULUI :
2
2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-10
    • 1970-01-01
    • 2011-04-14
    • 2022-01-17
    • 2019-10-13
    相关资源
    最近更新 更多