Java中的运行时错误(NZEC)

Java中的运行时错误(NZEC),java,Java,我编写了一个Java代码来生成两个整数之间的素数。我在SPOJ中得到一个运行时错误(NZEC)。我怎样才能解决这个问题 import java.util.Scanner; public class prime { public static void main(String[] args) { Scanner x = new Scanner(System.in); Scanner y = new Scanner(System.in); in

我编写了一个Java代码来生成两个整数之间的素数。我在SPOJ中得到一个运行时错误(NZEC)。我怎样才能解决这个问题

import java.util.Scanner;
public class prime {
    public static void main(String[] args) {
        Scanner x = new Scanner(System.in);
        Scanner y = new Scanner(System.in);
        int m =  x.nextInt();
        int n =  y.nextInt();
        if (m >= 1 && n <= 1000000000 && n - m <= 100000) {
            for (int current = m; current <= n; current++) {
                int sqr_root = (int) Math.sqrt(current);
                boolean is_prime = true;
                for (int i = 2; i <= sqr_root; i++) {
                    if (current % i == 0) {
                            is_prime = false; // Current is not prime.
                    }
                }
                if (is_prime) {
                        System.out.println(current);
                }
            }
        }
        return; 
    }
}
import java.util.Scanner;
公共类素数{
公共静态void main(字符串[]args){
扫描器x=新扫描器(System.in);
扫描器y=新扫描器(System.in);
int m=x.nextInt();
int n=y.nextInt();

如果(m>=1&&n,突出的错误是您创建了两个
扫描仪
系统中读取。在
中。我怀疑这会导致异常;当然这是不明智的

改变这个

Scanner x = new Scanner(System.in);
Scanner y = new Scanner(System.in);
int m =  x.nextInt();
int n =  y.nextInt();   
对此

Scanner x = new Scanner(System.in);
int m =  x.nextInt();
int n =  x.nextInt();   
当然,这是假设您确实希望从标准输入中获取值,而不是作为命令行参数


(你可以从你的
main
方法中去掉
return

NZEC和SPOJ到底是什么?你到底从哪里得到了错误?NZEC(非零退出代码)-这个消息意味着程序退出时会向shell返回一个不同于0的值。对于像C这样的语言,这可能意味着你忘了添加程序结束时返回0。对于解释语言(包括JAVA),NZEC通常意味着您的程序崩溃或引发未捕获的异常。SPOJ(Sphere Online Judge)是一个在线评判系统,拥有200000多名注册用户和20000多个问题。问题的解决方案可以用40多种语言提交。SPOJ有一个快速增长的问题集/任务,每天24小时可供练习,包括许多由与项目相关的专家问题解决者社区准备的原始任务。SPOJ允许高级用户根据自己的规则和问题组织竞赛。它还包括一个论坛,程序员可以在此讨论如何解决特定问题。黑客攻击错误代码!由于您的代码从未尝试以非零退出代码终止,因此必须在未捕获的异常情况下终止。如果您需要帮助,您将我需要从命令行或Eclipse运行您的代码,并告诉我们您得到了什么异常,以及它发生在哪里@abhishekKanodia那么我只能假设你没有向程序提供任何输入。你确定你想从标准输入读取数据,而不是在命令行上获取参数吗?对于一个只需要两个输入的程序来说,从标准输入读取数据是很奇怪的。我想获取两个用户输入并显示所有的素数b在他们之间。我还想为10个测试用例做这个。