2017-02-14 10 views
-3

私のコードには、ユーザが望むように、20の可能なエントリまでの位置と整数を選択された位置に入力するコンストラクタがあります。配列が結果を保存していないのはなぜですか?

次に、結果はコンストラクタから配列として返されます。唯一の問題は、結果を保存していないことです。

ユーザーが入力として配列結果を保存し、すべてのスロットがいっぱいになるまでユーザーに別の入力を要求しますが、入力するたびにこれまでアレイを表示する必要があります。

 Scanner input = new Scanner(System.in); 
     int[] arraySize = new int[20]; 
     while (arraySize.length <= 20){ 
      System.out.println("Enter the position"); 
      int arrayPosition = input.nextInt(); 
      System.out.println("Enter the integer to be inserted here"); 
      int positionInteger = input.nextInt(); 
      int[] arrayThatIsntSavingAnything = Insert(arraySize, arrayPosition, positionInteger); 
     }  
      System.out.println(java.util.Arrays.toString(arrayThatIsntSavingAnything)); 
     } 
+0

whileループ内で 'arrayThatIsntSavingAnything'が定義されており、その外側からアクセスできないため、コードがコンパイルされないようです。 –

答えて

0

arraySizeの内容は、入力内容に関係なく常に20です。したがって、ループはwhileに決して入りません。別のカウンタを開始して、実行された入力数を追跡することができます。また、<=のチェックを実行しているため、arraySize[20]が存在しないため、ArrayIndexOutOfBoundsExceptionが発生する可能性があります。

関連する問題