2016-09-04 8 views
-3

最初の行は、配列のサイズに従います。配列の数字は、あいまいな順列を形成できるかどうかを調べるためにチェックされます。java whileループスロー例外

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

"java while loop throwing exception"この問題をデバッグするのに十分な情報ではありません。 – tkausl

+0

少なくとも、例外に関する正確なメッセージを出してください。プログラムのどの行が例外をスローするかを示すスタックトレースが必要です。その情報を使って、ここの周りの誰かがすぐに原因を突き止めることはありそうもありません。それはあなた自身のためです。ヘルプセンターで良い質問をする方法の詳細については、こちらをご覧ください。 –

+0

'String aj [] = new aj [arr.length];'? 'String [] aj = new String [arr.length];'を意味しましたか? – c0der

答えて

0

whileループの以下のコードは、whileループの条件が満たされるまで実行されません。

1

EDIT:再び :嘆願は、コンパイルコードを投稿する:

また
//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. 

それらを修正してコンパイルコードを投稿してください。

+0

新しいコードを投稿しました。チェックしてください 。 – survivor

+0

問題がコンパイルされていません。もしそれがコンパイルされていたら、なぜ私はそれを最初の場所に投稿しますか? – survivor

+0

間違った出力を助けてください。必要なものを修正して、明確でないものを尋ねてください。 – c0der