0

ユーザーに 10 以下の整数を入力してもらい、それらを配列に追加して配列から出力する方法を理解するのに助けが必要です。以下のコードは、実行時にユーザーに整数を要求し、永久に実行されて機能しません。私は何を間違っていますか?

public static void main(String[] args) {

    Scanner input = new Scanner(System.in); // create a new scanner
    System.out.print("Enter integers between 1 and 100\n ");  
    int[] nextNumber = new int[10];
    int i = 0;
    int number = input.nextInt();

    while (i < nextNumber.length){
        i++;
        nextNumber[i] = number;
        number = input.nextInt();    
    }

    int a = 0;

    while (a  < nextNumber.length){
        a++;
        System.out.println(nextNumber[a]);   
    }
4

4 に答える 4

0

問題1

変化する

int i = 0;
int number = input.nextInt();
while (i < nextNumber.length){
i++;  //here is one problem. you not assigning the value to nextNumber[0].
nextNumber[i] = number;
number = input.nextInt();

}

int i = 0;
while (i < nextNumber.length){
   number = input.nextInt();
   nextNumber[i] = number;
   i++;  
}

問題 2

変化する

int a = 0;
while (a  < nextNumber.length){
    a++;  //here is one problem ..You never get  nextNumber[0] value
System.out.println(nextNumber[a]);

}

int a = 0;
while (a  < nextNumber.length){
     System.out.println(nextNumber[a]);
    a++;
}
于 2013-10-22T03:20:53.830 に答える
0

これは次のように簡単に行うことができます。最大反復回数がわかっているため、for ループを使用することをお勧めします。

Scanner input = new Scanner(System.in); // create a new scanner
System.out.print("Enter integers between 1 and 100\n ");  
int[] nextNumber = new int[10];

int i = 0;
while (i < nextNumber.length)   nextNumber[i++] =  input.nextInt();


int a = 0;
while (a  < nextNumber.length)  System.out.println(nextNumber[a++]);  
于 2013-10-22T03:56:22.363 に答える