如何在 Java 中创建参差不齐的数组
How to create a ragged array in Java
我想创建一个参差不齐的数组(二维数组),用户可以一次插入一个值。我通常会这样创建它们:
int[][] array = {{1,2,3}, {6,7}}
但我事先不知道它们的大小。
如何创建这样的数组?
您应该像这样初始化一个 jagged/ragged(相同的东西)数组:int array[][] = new int[4][];
然后您可以(例如):
array[0] = new int[5];
array[1] = new int[5];
array[2] = new int[5];
array[3] = new int[5];
那么你可以:
for (int i = 0; i < 4; i++){
for (int j = 0; j < i + 1; j++) {
array[i][j] = i + j;
}
}
如果你想打印:
for (int i = 0; i < 4; i++) {
for (int j = 0; j < i + 1; j++)
System.out.print(array[i][j] + " ");
System.out.println();
}
您将得到输出:
0
1 2
2 3 4
3 4 5 6
当然,如果您想从 用户 那里获取输入,您可以将此处的任何赋值替换为 Scanner.nextInt();
。
评论后编辑:您必须指定大小,如果您不想这样做,请使用:
ArrayList<ArrayList<Integer>> array = new ArrayList<ArrayList<Integer>>();
正确使用扫描仪是
Scanner input = new Scanner(System.in);
int variable = input.nextInt();
您的 IDE 应该单独包含 java 软件包,以便您使用扫描仪。
关于@Idos,使用 ArrayList,您将使用
array.add(variable);
而不是仅仅选择数组的索引。我相信有很多关于如何使用 ArrayLists 的教程,您可以找到更多关于它们的信息。
我想创建一个参差不齐的数组(二维数组),用户可以一次插入一个值。我通常会这样创建它们:
int[][] array = {{1,2,3}, {6,7}}
但我事先不知道它们的大小。
如何创建这样的数组?
您应该像这样初始化一个 jagged/ragged(相同的东西)数组:int array[][] = new int[4][];
然后您可以(例如):
array[0] = new int[5];
array[1] = new int[5];
array[2] = new int[5];
array[3] = new int[5];
那么你可以:
for (int i = 0; i < 4; i++){
for (int j = 0; j < i + 1; j++) {
array[i][j] = i + j;
}
}
如果你想打印:
for (int i = 0; i < 4; i++) {
for (int j = 0; j < i + 1; j++)
System.out.print(array[i][j] + " ");
System.out.println();
}
您将得到输出:
0
1 2
2 3 4
3 4 5 6
当然,如果您想从 用户 那里获取输入,您可以将此处的任何赋值替换为 Scanner.nextInt();
。
评论后编辑:您必须指定大小,如果您不想这样做,请使用:
ArrayList<ArrayList<Integer>> array = new ArrayList<ArrayList<Integer>>();
正确使用扫描仪是
Scanner input = new Scanner(System.in);
int variable = input.nextInt();
您的 IDE 应该单独包含 java 软件包,以便您使用扫描仪。
关于@Idos,使用 ArrayList,您将使用
array.add(variable);
而不是仅仅选择数组的索引。我相信有很多关于如何使用 ArrayLists 的教程,您可以找到更多关于它们的信息。