-1

ユーザーからの入力をスキャナーから取り込み、その入力を 2D 配列に入れるにはどうすればよいですか。これは私が持っているものですが、それが正しいとは思いません:

public static void main(String[] args)
{
    Scanner in = new Scanner(System.in);
    int [][] a = new int[row][col];
    Scanner in = new Scanner(System.in);

    System.out.println("Enter a sequence of integers: ");
    while (in.hasNextInt())
    {
        int a[][] = in.nextInt();
        a [row][col] = temp;
        temp = scan.nextInt();
    }
    Square.check(temp);
}

私がやろうとしているのは、2D 配列を作成して魔方陣を作成することです。ブール値の部分がわかりました。ブール値メソッドが数値をテストできるように、ユーザーの一連の数値を配列に入力するのに助けが必要です。すべての助けに感謝します

4

2 に答える 2

2

あなたのコードが思い通りに動くとは思えません。あなたの質問を正しく理解していれば、次のようにします。

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);

    int [][] a = new int[row][col];

    for(int i = 0; i < row; i++) {
        for(int j = 0; j < col; j++) {
            System.out.print("Enter integer for row " + i + " col " + j + ": ");
            a[i][j] = in.nextInt();
        }
    }

    // Create your square here with the array
}

ループでiは、 は現在の行番号で、jは現在の列番号です。すべての行/列の組み合わせをユーザーに尋ねます。

于 2012-02-13T18:33:06.813 に答える
0

それを使用して、すべての番号を同時に入力できます。

int [][] a = new int[3][3];
Scanner in = new Scanner(System.in);

System.out.println("Enter a sequence of integers: ");
int row=0,col=0;
while (in.hasNextInt())
{
     a [row][col++] = in.nextInt();
     if(col>=3){
         col=0;
         row++;
     }
     if(row>=3)break;
}

次に、次のように入力できます。

1 2 3 4 5 6 7 8 9

配列を埋めます。

于 2012-02-13T18:44:36.630 に答える