java while循环抛出异常

时间:2016-09-04 05:34:45

标签: java

第一行采用数组的大小。检查数组的数字以查看它们是否可以形成模糊的排列。

public class Codechef2 {

    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        int intnum=10;
        intnum=input.nextInt();

        input.nextLine();
        String a[]=new String[100000];
        int count=0;
        int i=0;

        While(intnum>0)
        {
            a[i]=input.nextLine();
            String arr[]=a[i].split(" ");
            int aj[]=new int[arr.length];
            int k=0;
            for(int j=0;j<arr.length;j++)
            {

                aj[Integer.parseInt(arr[k])]=j+1;
                k++;

            }

            for(int l=0;l<arr.length;l++)
            {
                if(aj[l]==Integer.parseInt(arr[l]))
                count++;
                }

            if(count==arr.length)
                System.out.println("ambiguous permutation");
            else
                System.out.println("Not ambiguous permutation");

            intnum=input.nextInt();
        }
    }
}

2 个答案:

答案 0 :(得分:1)

修改: 再次:请求发布可编辑的代码:

//wrong
//While(intnum>0)
while(intnum>0)

此外:

//you need to print a msg so the user knows that he / she
//needs to input and tell the user what to input
System.out.println("Please enter ....");
input.nextLine();

代码有很多错误。

例如:

String aj[]=new aj[arr.length]; //will not compile
While(intnum>0)    //will not compile
a[i]=input.nextLine(); //will not compile. i is defined later.
aj[arr[k]]=i+1; //wrong : aj[] is a String. i+1 is an int.

修复它们并发布可编辑的代码。

答案 1 :(得分:0)

在满足while循环的条件之前,不会执行while循环下面的代码。