问题是https://www.codechef.com/problems/CIELAB 我一直在CodeChef上得到运行时错误(NZEC)。 它在DrJava上运行良好。
import java.util.*;
class CodeChef1{
public static void main(String[]args){
Scanner s=new Scanner(System.in);
System.out.println("Please enter the range");
int k1=s.nextInt();
int k2=s.nextInt();
int a,b;
if(k1>k2){
a=k1;
b=k2;
}
else{
a=k2;
b=k1;
}
while(true){
System.out.println("Please enter a number within the range");
int n=s.nextInt();
if(b<n & n<a){
System.out.println(n);
}
else{
System.out.println("Not within range");
break;
}
}
}
}
代码中有什么问题?
答案 0 :(得分:0)
致电时
s.nextInt()
在你的代码中,你假设每次都会有一个int。如果没有输入或输入不是int会怎么样?
因此,该陈述应先进行检查:
if(s.hasNextInt()){ // this is the check
int ... = s.nextInt();
}
else{
// decide what to do. A graceful exit or assigning some default value to your int
}