-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);
}

我想做的是创建一个二维数组并创建一个魔方。我已经弄清楚了布尔部分,我只需要帮助将用户的数字序列输入到数组中,以便布尔方法可以测试数字。非常感谢所有帮助

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 回答