Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 提交时无任何例外_Java_Nosuchelementexception - Fatal编程技术网

Java 提交时无任何例外

Java 提交时无任何例外,java,nosuchelementexception,Java,Nosuchelementexception,我是一名Comp Sci学生,我所在的大学有一个ACM编程竞赛俱乐部。我刚刚开始,我正在解决其中一个问题。当我运行这个程序时,它运行得非常好,并且不会产生任何异常。但是,当我在运行测试的网站上提交时,它会给我: 应用程序中出现异常: 线程“main”java.util.NoSuchElementException中的异常:在main.main(main.java:16)的java.util.Scanner.nextLine(Scanner.java:1585)中找不到任何行 代码: import

我是一名Comp Sci学生,我所在的大学有一个ACM编程竞赛俱乐部。我刚刚开始,我正在解决其中一个问题。当我运行这个程序时,它运行得非常好,并且不会产生任何异常。但是,当我在运行测试的网站上提交时,它会给我:

应用程序中出现异常:

线程“main”java.util.NoSuchElementException中的异常:在main.main(main.java:16)的java.util.Scanner.nextLine(Scanner.java:1585)中找不到任何行

代码:

import java.util.Scanner;
import java.util.ArrayList;

public class Main
{
public static void main(String[] args)
{
    Scanner inMain = new Scanner(System.in);
    ArrayList<String> a = new ArrayList<String>();

    int q = inMain.nextInt();

    for (int j = 0; j < q; j++)
    {
        Scanner read = new Scanner(System.in);
        String temp = read.nextLine();
        a.add(temp);
    }

    int r = inMain.nextInt();

    for (int h = 0; h < r; h++)
    {
        int selection = inMain.nextInt();
        if (selection < 0 || selection > q)
        {
            System.out.println("Rule " + selection + ": No such rule");
        } else
        {
            System.out.println("Rule " + selection + ": "
                    + a.get(selection - 1));
        }
    }
}

}
import java.util.Scanner;
导入java.util.ArrayList;
公共班机
{
公共静态void main(字符串[]args)
{
扫描仪inMain=新扫描仪(System.in);
ArrayList a=新的ArrayList();
int q=inMain.nextInt();
对于(int j=0;jq)
{
System.out.println(“规则”+选择+”:无此类规则);
}否则
{
System.out.println(“规则”+选择+”:“
+a.get(选择-1));
}
}
}
}

在访问下一行之前,请检查下一行是否存在

for (int j = 0; j < q; j++)
{
    Scanner read = new Scanner(System.in);
    if (read.hasNextLine()){
        String temp = read.nextLine();
        a.add(temp);
    }
}
for(int j=0;j
您是否尝试过在system.in中使用scanner的一个实例?您是否键入了第一个
nextInt()
中的内容?这主要是因为您在没有可用令牌的情况下调用了
nextInt
nextLine
。使用多个输入文件尝试此代码。这不是编程问题,只是程序需要的输入与提供的输入不同。是的,当我为扫描仪使用一个实例时,会发生不同的异常。它实际上会导致第20行出现InputMismatchException。好吧,我添加了这个,它解决了问题,但现在我在提交时在第23行出现InputMismatchException,但我在我的机器上运行时没有收到错误。你能发布输入吗?我希望我可以,如果我知道的话,我可能可以解决它。不幸的是,我无法访问它对提交评估的代码所做的单元测试。