我无法在此java程序中找到运行时错误(NZEC)。此程序在CodeChef编译器中运行,但每当我提交代码时它都会给出运行时错误。 我在这个java程序中找不到运行时错误(NZEC)。这个程序在CodeChef编译器中运行,但每当我提交代码时它都会给出运行时错误。
问题的链接 - > enter link description here
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner s = new Scanner(System.in);
int t=s.nextInt();
s.nextLine();
for(int te=0;te<t;te++){
int n=s.nextInt();
s.nextLine();
int[] strArray = new int[n];
for(int i = 0; i < n; i++)
strArray[i] = s.nextInt();
int flag=0;
int done=0;
if(strArray[0] == 1){
int bf = 1;
for(int i = 1; i < n; i++) {
if(strArray[i] == 7){
if(strArray[i+1] > 7){
flag = 1;
break;
}else{
if(strArray[i+1] == 6){
done=1;
break;
}
}
}
if(strArray[i] == bf || (strArray[i]-1) == bf){
bf = strArray[i];
continue;
}else{
flag = 1;
break;
}
}
}
else{
System.out.println("no");
}
if(flag ==1 ){
System.out.println("no");
}
else{
if(done==1){
int l=0,r=strArray.length-1;
int cflag=0;
while(strArray[l]==strArray[r]){
l++;r--;
if(l==r){
cflag=1;
System.out.println("yes");
break;
}
}
if(cflag!=1){
System.out.println("no");
}
}
}
}
}
答案 0 :(得分:0)
尝试并测试代码以获取如下输入:
n = 5; strArray = {1,3,5,6,7};
if(strArray[0] == 1){
int bf = 1;
for(int i = 1; i < n; i++) {
if(strArray[i] == 7) {
if(strArray[i+1] > 7) // what would happen here? what is i+1?
可能你现在应该意识到如何解决它。