我需要编写一个程序,当用户输入“行”和“列”时,应输出以下内容。以下示例适用于4x4矩阵:
1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16
还是一个初学者,发现这些数组真的很难。
它可以与下面的代码一起使用,但是我不确定是否允许这样填写-列然后行。
我无法找到一种处理方法:
for (int i = 0; i < rows; i++){
for (int j = 0; j < columns; j++){
我使用的代码:
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Please enter your array rows: ");
int rows = scanner.nextInt();
System.out.println("Please enter your array columns: ");
int columns = scanner.nextInt();
int[][] array = new int[rows][columns];
int counter = 0;
for (int j = 0; j < columns; j++){
for (int i = 0; i < rows; i++) {
counter++;
array[i][j]=counter;
}
}
for (int i = 0; i < rows; i++) {
for (int j = 0; j < columns; j++) {
System.out.print(array[i][j] + " ");
}
System.out.println();
}
}
最佳答案
按照您的方式填写数组没有问题,这是完全合法的。首先将其填充到行中并没有任何实际的区别。
如果您真的希望先行,则可以采用以下方法:
int[][] array = new int[rows][columns];
for(int i = 0; i < rows, i++) {
for(int j = 0; j < columns; j++) {
array[i][j] = j * rows + i + 1;
}
}
关于java - 方阵,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32298484/