我在这个java程序

时间:2017-09-10 04:38:12

标签: java runtime-error

我无法在此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");
                }

            }
        }   

    }


}

1 个答案:

答案 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?

可能你现在应该意识到如何解决它。