Java 如果继续接收runtimeException

Java 如果继续接收runtimeException,java,exception,nosuchelementexception,Java,Exception,Nosuchelementexception,下面的代码在eclipse中运行良好,但在联机编辑器中,我一直收到runtimeException(NoSuchElementFoundException),请帮助我哪里出了问题 {我已经使用了eratosthenes算法的sieve来查找用户要求范围内的素数} public class test { public static void main(String[] args) { Scanner sc = new Scanner(System.in);

下面的代码在eclipse中运行良好,但在联机编辑器中,我一直收到runtimeException(NoSuchElementFoundException),请帮助我哪里出了问题

{我已经使用了eratosthenes算法的sieve来查找用户要求范围内的素数}

    public class test {
     public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
    if(sc.equals(""))
    {
        sc.close();
    }
    Integer t = sc.nextInt();
    while(t>0)
    {
    int m = sc.nextInt();
    int n = sc.nextInt();
    int prime[]= new int[n+1];
    for(int i=0;i<=n;i++)
    {
        prime[i]=1;
    }
    prime[0]=0;
    prime[1]=0;
    for(int i=2;i<Math.sqrt(n);i++)
    {
        if(prime[i]==1)
        {
            for(int j=2;i*j<n;j++)
            {
                prime[i*j]=0;
            }
        }
    }
    for(int i=m;i<n;i++)
    {
        if(prime[i]==1)
        {
            System.out.println(i+" ");
        }
    }
    System.out.println();
    t--;
   }
    }
   }
公共类测试{
公共静态void main(字符串[]args){
扫描仪sc=新的扫描仪(System.in);
如果(sc等于(“”)
{
sc.close();
}
整数t=sc.nextInt();
而(t>0)
{
int m=sc.nextInt();
int n=sc.nextInt();
整数素数[]=新整数[n+1];

对于(int i=0;i我在您提到的站点上尝试了您的代码。我将类可见性更改为默认值以避免某些编译错误。它产生了内部错误,没有进一步的细节,建议在站点上测试代码。我使用了示例测试用例,并在ideone站点上成功通过了测试。
我建议您使用hacker rank,我认为nk更方便。在黑客等级中,您可以解锁测试用例以跟踪代码中的错误和bug,还可以与同事讨论问题。
另一方面,我无法获得您提到的异常“NoTouchElementFoundException”如果您有详细的堆栈跟踪,请将其包括在内,我将相应地更新我的答案。

那么您哪里出了问题……也许您应该向您的在线编辑器提供一些输入?
prime[1]=0
此行假设n至少为1。如果用户输入的值小于1,则将抛出一个
NoSuchElementFoundException
。好的,因此基本上它有具有输入值的测试用例,但是
NoSuchElementFoundException
很可能来自嵌套的for循环。您尝试过调试吗?不知道您试图如何处理终止条件
i