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

我正在解决CodeChef上的一个“有效对”问题,它在STS工作区上运行良好,但我在CodeChef上出现了一个运行时错误

宰父劲
2023-03-14

这就是我遇到的错误

Exception in thread "main" java.util.NoSuchElementException: No line found
at java.util.Scanner.nextLine(Scanner.java:1540)
at Codeche.main(Main.java:13)

下面是下面的代码。

/* package codechef; // don't place package name! */

import java.util.*;

/* Name of the class has to be "Main" only if the class is public. */
class Codechef
{
    public static void main (String[] args)
    {
        Scanner in=new Scanner(System.in);
        String S;
        int A,B,C;
        S=in.nextLine();
        String arr[]=S.split(" ");
        A=Integer.parseInt(arr[0]);
        B=Integer.parseInt(arr[1]);
        C=Integer.parseInt(arr[2]);
        if(A>=1 && A<=10 && B>=1 && B<=10 && C>=1 && C<=10)
        {
            if(A==B || A==C || B==C)
                System.out.println("Yes");
            else
                System.out.println("No");
            in.close();
        }
    }
}

代码在STS Workspace上运行良好,但无法在CodeChef上运行

共有1个答案

令狐昌胤
2023-03-14

这个问题似乎是由于Code Chef平台没有像大多数执行环境所提供的那样为您的程序提供标准的输入源。换句话说,system.In不是可以从中读取的开放输入流。如果这不是Code Chef中的错误,那么问题可能是您没有正确配置Code Chef站点上的某些内容,或者您的代码不应该从system.in读取。

您可以通过关闭system.in然后尝试使用它来在其他环境中重现此错误:

try {
    System.in.close();
} catch (IOException e) {
    e.printStackTrace();
}

Scanner in=new Scanner(System.in);
String S = in.nextLine();

结果:

Exception in thread "main" java.util.NoSuchElementException: No line found
    at java.base/java.util.Scanner.nextLine(Scanner.java:1651)
    at Codechef.main(Test.java:20)
 类似资料: