2

x を yourNumbers 配列に格納するために使用するものを入れたいのですが、どうすればよいですか? 編集: ループを使用して、一番下の println 部分をクリーンアップするにはどうすればよいですか。

import java.util.Scanner; 
 public class array {
public class SS_Un8As1 {
public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    int[] yourNumbers = new int[10];
    for (int counter=0; counter < yourNumbers.length; counter++){
        System.out.print("Enter your number: ");
        yourNumbers[counter] = scan.nextInt();
     }         
   System.out.println("Original numbers: " + yourNumbers[0] + "," + yourNumbers[1] + "," + yourNumbers[2] + "," + yourNumbers[3] + "," + yourNumbers[4] + "," + yourNumbers[5] + "," + yourNumbers[6] + "," + yourNumbers[7] + "," + yourNumbers[8] + "," + yourNumbers[9]);
   System.out.println("Original numbers multiplied by five: " + yourNumbers[0]*5 + "," + yourNumbers[1]*5 + "," + yourNumbers[2]*5 + "," + yourNumbers[3]*5 + "," + yourNumbers[4]*5 + "," + yourNumbers[5]*5 + "," + yourNumbers[6]*5 + "," + yourNumbers[7]*5 + "," + yourNumbers[8]*5 + "," + yourNumbers[9]*5);
   System.out.println("Original numbers minus the next number: " + (yourNumbers[0]-yourNumbers[1]) + "," + (yourNumbers[1]-yourNumbers[2]) + "," + (yourNumbers[2]-yourNumbers[3]) + "," + (yourNumbers[3]-yourNumbers[4]) + "," + (yourNumbers[4]-yourNumbers[5]) + "," + (yourNumbers[5]-yourNumbers[6]) + "," + (yourNumbers[6]-yourNumbers[7]) + "," + (yourNumbers[7]-yourNumbers[8]) + "," + (yourNumbers[8]-yourNumbers[9]) + "," + (yourNumbers[9]-yourNumbers[0]));
}

}

4

3 に答える 3

3

このような:

yourNumbers[counter] = x;

上記のコードは次のように述べています:x配列の値をyourNumbersindex (position) に格納しcounterます。counterはループの反復変数であるためfor、ループがカウンターを進めるたびに、次の値がx配列内の次に使用可能な位置に格納されます。

配列の長さが の値と同じであることを確認する必要がありますcounter。コードで、次のようにします。

int[] yourNumbers = new int[10];

なんで?なぜならcounterから0まで9なので、配列の長さは でなければなりません10

于 2013-07-24T20:31:48.737 に答える
2

これを交換

int x = scan.nextInt();

yourNumbers[counter] = scan.nextInt();

また、状態はcounter<9、またはそれ以上であることcounter<yourNumbers.length

于 2013-07-24T20:33:21.417 に答える
1

for ループ内で、入力を配列の次の要素に渡すだけです。

yourNumbers[counter] = x;

ただし、x に値を割り当てる前に、入力が実際に整数であることを検証する必要があることも指摘しておく必要があります。値が整数でない場合、プログラムはクラッシュします。

于 2013-07-24T20:33:24.043 に答える