【发布时间】:2015-02-03 17:44:28
【问题描述】:
我有一个使用用户输入创建二维数组的代码,它工作正常,但现在我有 2 个问题
第一个:如何将二维数组转换为一维数组?
第二个问题:如何选择或追踪二维数组中右对角线以上的元素?
谁能帮我修复这个代码?
这是我的代码
package question3;
import java.util.Arrays;
import java.util.Collection;
import java.util.Scanner;
public class Array2d {
public static void main(String[] args) {
int[][] matrix = new int[3][3];
int[] array = new int[matrix.length * matrix.length];
Scanner sc = new Scanner(System.in);
System.out.print("Please enter 9 integers separated by spaces:");
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix.length; j++) {
matrix[i][j] = sc.nextInt();
}
}
int idx = 0;
for (int row = 0; row < matrix.length; row++) {
for (int column = 0; column < matrix.length; column++) {
System.out.print(matrix[row][column] + " "); // Outputs the // array in a // 5x5 grid.
}
System.out.println();
}
for (int column = 0; column < matrix.length; column++) {
for (int row = column + 1; row < matrix.length+column ; row++){
// populate your array here
array[idx] = matrix[row][column];
// increment index
idx++;
System.out.println(matrix[row][column]);
}
}
}
}
输出
请输入 9 个以空格分隔的整数: 1 2 3 4 5 6 7 8 9
1 2 3
4 5 6
7 8 9
4 7 8
但我期望 2 , 3 , 6
我需要做的改变是因为我被卡住了,我知道那是在第三个 for 循环中
【问题讨论】:
-
您能否定义一些您想要转换为一维数组的示例二维数组,并展示您希望输出的样子的示例。
-
不,先生,这是我的第一篇文章
-
@bhspencer 我将编辑我的问题并显示输出和我想要显示的内容
-
输入由空格分隔,为什么是 NewLineCharacter ? ,他们不应该与空格在同一行..!
标签: java arrays for-loop multidimensional-array