在线法官给出了运行时错误(NZEC)

时间:2018-11-23 03:47:46

标签: java algorithm

我正在尝试解决算法问题。这是关于在一定范围内生成质数。一个虚拟的法官给我一个NZEC错误,特别是以下消息:

Exception in thread "main" java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:542)
at java.lang.Integer.parseInt(Integer.java:615)
at Codechef.main(Main.java:24)

在我的电脑上这有效,我不知道应该怎么做。 这是我的代码和法官的链接。

public static void main(String[] args)throws IOException{
    //precargar criba
    boolean[] criba = new boolean[100001];
    Arrays.fill(criba, true);
    for(int i=2; i<=criba.length;i++){
        for(int j=2;i*j<=100000;j++){
            criba[i*j]=false;
        }
    }
    BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
    String in;
    String t;
    long m,n;
    t=sc.readLine();
    int a=Integer.parseInt(t);
    for (int i = 0; i < a ; i++) {
        int k=0; int[] read=new int[2];
        in = sc.readLine();
        StringTokenizer stk = new StringTokenizer(in);
        while(stk.hasMoreElements()){
            read[k]=Integer.parseInt(stk.nextToken());
            k++;
        }
        m=read[0]; n=read[1];
        for(int j=(int) m; j<=n;j++){
            if(j==1 || j==2)continue;
            if(criba[j])System.out.println(j);
        }
        System.out.println();
    }
    sc.close();
}

Prime Generator SPOJ

1 个答案:

答案 0 :(得分:0)

请在语句中指定分隔符。

StringTokenizer stk = new StringTokenizer(in);

例如,如果定界符为空格字符,则必须编写:

StringTokenizer stk = new StringTokenizer(in," ");