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

Java中NoSuchElement异常求助:本地正常在线OJ运行出错

问题修复方案

异常原因

你在循环内部重复创建Scanner实例,导致输入流被多次绑定。当输入流数据耗尽后,新创建的Scanner调用nextLine()时会因无法获取输入元素抛出NoSuchElementException。

代码修正点

  • 将Scanner初始化移到循环外,整个程序只创建一次实例
  • 增加hasNextLine()判断,避免输入流提前结束时触发异常
  • 你的反转逻辑本身符合题目“将反转句子恢复为正常语序”的要求,无需调整

修正后的代码

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        while(scan.hasNextLine()) {
            String str = scan.nextLine();
            if(str.equals("END")){
                break;
            }
            for (int i = str.length()-1; i >=0; i--) {
                System.out.print(str.charAt(i));
            }
            System.out.println();
        }
        scan.close();
    }
}

效果说明

修正后的代码会逐行读取输入,遇到END就终止循环且不会输出END;同时能正确将每行反转的句子恢复为正常语序,完全匹配预期输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 09:31:43