我在codechef上解决了一个“有效对”问题,这个问题在sts工作区上运行良好,但我在codechef上遇到了一个运行时错误

z9smfwbn  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(215)

这就是我遇到的错误

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工作区上运行良好,但我无法在codechef上运行此代码

hm2xizp9

hm2xizp91#

这个问题似乎是由于CodeChef平台没有像大多数执行环境那样为程序提供标准的输入源。换句话说,, 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)

相关问题