import java.util.Scanner;
public class FindSmallestPalindrome {
public static void main(String args[]){
Scanner s = new Scanner(System.in);
//System.out.println("Enter the number");
int testCase = s.nextInt(),i=1;
long st;
StringBuilder str = new StringBuilder();
while(i <= testCase){
st = s.nextLong();
st +=1;
while(st <= 1000000000){
str.append(st);
//System.out.println("str="+str);
if(str.reverse().toString().equals(st+"")){
//System.out.println("str inside="+str);
System.out.println(st);
break;
}
str.delete(0,str.length());
st++;
//System.out.println("temp="+st);
}
i++;
}
}
}
我不知道如何消除NZEC错误;
问题:http://www.spoj.com/problems/PALIN/
解释程序中的错误。
答案 0 :(得分:0)
NZEC意味着编译器得到了一个未捕获的异常,但没有打算正确输出它。我听说SPOJ的Java编译器会这样做,有时它会在没有正确终止输入的情况下发生。尝试将代码包装在try - catch
块中,如下所示:
try{
/* Your code */
} catch(Exception e){
return;
}
当然,也就是说,如果您的代码在某些测试用例中没有抛出其他未捕获的异常。你也想检查一下。
答案 1 :(得分:0)
错误是因为在那个问题中,数字长度最多为1000000位,而长数据类型无法存储如此大的数字,因此使用BigInteger会出错。在给定的问题中,您可以使用String解决它