我正在尝试解决算法问题。它是关于在一定范围内生成素数。虚拟法官给了我一个 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();
}
请在语句中指定分隔符。
StringTokenizer stk = new StringTokenizer(in);
例如,如果分隔符是空格字符,那么你必须写:
StringTokenizer stk = new StringTokenizer(in," ");
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句