Java 二维数组的动态赋值,每行的长度不一样
时间: 2024-05-03 18:22:46 浏览: 160
在 Java 中,二维数组的长度是固定的,但是每行的长度可以不同。以下是一种动态赋值二维数组的方法:
```java
// 定义一个二维数组
int[][] arr = new int[3][];
// 给第一行赋值
arr[0] = new int[]{1, 2, 3};
// 给第二行赋值
arr[1] = new int[]{4, 5};
// 给第三行赋值
arr[2] = new int[]{6, 7, 8, 9};
// 输出二维数组
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
```
运行结果:
```
1 2 3
4 5
6 7 8 9
```
在上述代码中,我们定义了一个长度为 3 的二维数组 `arr`,但是每行的长度并没有指定。我们通过 `arr[0] = new int[]{1, 2, 3}`、`arr[1] = new int[]{4, 5}`、`arr[2] = new int[]{6, 7, 8, 9}` 给二维数组的每一行分别赋值。注意,每次赋值都需要使用 `new int[]` 来创建一个新的数组。最后,我们通过双重循环遍历二维数组并输出结果。
相关问题
Java 二维数组的动态赋值,每行的长度不一样,用for循环输入
可以使用一个二维ArrayList来实现动态赋值,每行的长度不一样的情况下,可以在每行输入时,先创建一个ArrayList来存储该行的数据,然后再将该ArrayList添加到二维ArrayList中。
示例代码如下:
```java
import java.util.ArrayList;
import java.util.Scanner;
public class DynamicTwoDimensionalArray {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 创建二维ArrayList
ArrayList<ArrayList<Integer>> list = new ArrayList<>();
// 输入行数
System.out.print("请输入二维数组的行数:");
int row = scanner.nextInt();
// 输入每行的数据
for (int i = 0; i < row; i++) {
// 创建一个ArrayList来存储该行的数据
ArrayList<Integer> rowList = new ArrayList<>();
System.out.print("请输入第" + (i + 1) + "行的数据(用空格分隔):");
String[] data = scanner.next().split(" ");
// 将该行的数据添加到rowList中
for (String s : data) {
rowList.add(Integer.parseInt(s));
}
// 将rowList添加到二维ArrayList中
list.add(rowList);
}
// 输出二维ArrayList
System.out.println("输入的二维数组为:");
for (ArrayList<Integer> rowList : list) {
for (int num : rowList) {
System.out.print(num + " ");
}
System.out.println();
}
}
}
```
示例输出:
```
请输入二维数组的行数:3
请输入第1行的数据(用空格分隔):1 2
请输入第2行的数据(用空格分隔):3 4 5
请输入第3行的数据(用空格分隔):6 7 8 9
输入的二维数组为:
1 2
3 4 5
6 7 8 9
```
阅读全文