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

扫描器引发NoSuchElementException

湛同
2023-03-14

下面的代码显示了一个错误。我对编码很陌生。这东西弄乱了我的脑袋。我能做什么?

下面的代码在编辑之后。但它仍然显示出NoSuchElementFound异常的相同错误。

   public static void main (String[] args) throws java.lang.Exception {
        Scanner scan =  new Scanner(System.in);

        while (!scan.hasNext()) {
            try {
                Thread.sleep(300);
        } catch (RuntimeException ignored) {}

        System.out.println("Enter first name");

        String fName = scan.next();

        while(!scan.hasNext()) {
            try {
                Thread.sleep(300);
            }catch (RuntimeException ignored) {}
        }
        String lName = scan.next();

        while (scan.hasNext()) {
           try {
               Thread.sleep(300);
        } catch (RuntimeException ignored) {}
        int id = scan.nextInt();

        int marks[] = new int[5];
        getInfo(fName, lName, id, marks);
    }
}
}

共有1个答案

花玄裳
2023-03-14

正如你所说的,你没有任何问题。您只需要做一些重构,并允许弹出窗口让用户首先写入姓氏和ID:尝试在获得用户输入之前添加System.out.println(“”)。例如:system.out.println(“输入名字:”);字符串fName=scan.next();

可能的根本原因:当您从用户获得“ID”时,必须在那里提供整数值。

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

  • 问题内容: 我正在用Java从头开始编写RPG战斗系统,雄心勃勃吧?好吧,我遇到了麻烦。这是我的代码: 当它到达代码中的这一点时,我得到: 你会怎么做?说(战斗)(运行)(使用项) 线程“主”中的异常java.util.NoSuchElementException: 在Combat.turnChoice(Combat.java:23)的 java.util.Scanner.nextLine(Unk

  • 我有一个类,它创建多个对象,并将它们放入中,如下所示: 我有一个应用程序,它从控制台扫描输入“add”,如果找到,就调用方法,如下所示: 应用程序应该允许用户输入“add”,但在调用方法后,将出现错误“no line found”。 我猜这是因为方法中的没有关闭,然后在需要时重新打开。这是程序的问题吗?如果是,我该如何修复它? 请注意,这个程序还没有完成,因为我将添加一个出售这些股票的销售方法。这

  • 您可以通过Burp 控制台(Burp Dashboard)上的新的扫描(New scan)按钮或是 Burp 中出现的菜单中的Scan选项来启动扫描。利用这些方法可打开扫描启动窗口,然后您可以使用它配置扫描中的各种详细参数。 扫描细节 扫描启动界面的详细的扫描信息(Scan details)部分允许您选择扫描类型,配置要扫描的内容等等信息。 扫描类型 您可以选择以下扫描类型: 抓取并审计(Craw

  • 问题内容: 据我所知,堆表是没有聚簇索引并且没有物理顺序的表。我有一个具有12万行的堆表“扫描”,并且正在使用以下选择: 如果为“ id”列创建非聚集索引,则将获得 223次物理读取 。如果删除非聚集索引并更改表以使“ id”成为主键(以及聚集索引),则将获得 515次物理读取 。 如果聚集索引表如下图所示: 为什么聚簇索引扫描的工作方式类似于表扫描?(或者在检索所有行的情况下更糟)。为什么不使用

  • 问题内容: 据我所知,在Java中从文件读取基于字符的数据的两种最常见的方法是使用或。我也知道通过使用缓冲区来避免物理磁盘操作来有效地读取文件。我的问题是: 是否执行以及? 为什么你会选择在反之亦然? 问题答案: 用于从流的内容中解析令牌,而只是读取流,并且不执行任何特殊的解析。 实际上,你可以将传递给作为要解析的字符源。