You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决这段Java代码中的java.util.NoSuchElementException异常?

解决java.util.NoSuchElementException异常问题

异常原因

java.util.NoSuchElementException: No line found 表示Scanner尝试读取输入时,输入流已无可用内容。常见触发场景:

  • 运行环境未提供输入交互机会(比如在线编译器未配置输入区域)
  • 输入流被提前关闭
  • 程序执行时未输入任何数据就结束

解决方案

1. 确保输入环境正常

IDE运行时确认控制台可正常输入;在线编译器需在输入区域按顺序提供数据(先输入姓名回车,再输入年龄)。

2. 添加输入检查逻辑

读取输入前先判断是否有可用内容,避免直接读取引发异常,修改后的代码如下:

import java.util.Scanner;
public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        System.out.println("Enter your name : ");
        String name = "";
        // 检查是否有可用行输入
        if (sc.hasNextLine()) {
            name = sc.nextLine();
        }
        
        System.out.println("Enter your age : ");
        int age = 0;
        // 检查是否有可用整数输入
        if (sc.hasNextInt()) {
            age = sc.nextInt();
        }
        
        System.out.println("hello " + name + ". you're " + age + " old.");
        sc.close();
    }
}

额外说明

若代码在自动化测试、管道输入等特殊场景运行,需确保输入流始终可用,或提前准备好对应输入数据。

内容的提问来源于stack exchange,提问作者Vaishnavi Pounikar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 15:50:37