2017-02-14 5 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

'arrayThatIsntSavingAnything'이 while 루프 내에 정의되어 있고 그 외부에서 액세스 할 수 없으므로 코드가 컴파일되지 않는 것처럼 보입니다. –

답변

0

arraySize은 채워진 내용과 관계없이 항상 길이가 20입니다. 따라서 루프에는 while 루프가 입력되지 않습니다. 수행 된 입력 수를 추적하기 위해 다른 카운터를 시작할 수 있습니다. 또한 <=의 확인을 수행하면 arraySize[20]이 존재하지 않으므로 ArrayIndexOutOfBoundsException이 발생할 수 있습니다.

관련 문제