如何输入矩阵java
输入矩阵的方法
在Java中,可以通过多种方式输入矩阵。常见的方法包括使用二维数组、Scanner类从控制台读取或从文件中读取数据。
使用二维数组定义矩阵
直接初始化一个二维数组作为矩阵:
int[][] matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
从控制台输入矩阵
使用Scanner类从控制台逐行读取矩阵数据:
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
System.out.print("输入矩阵的行数: ");
int rows = scanner.nextInt();
System.out.print("输入矩阵的列数: ");
int cols = scanner.nextInt();
int[][] matrix = new int[rows][cols];
System.out.println("输入矩阵元素(按行输入,空格分隔):");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
matrix[i][j] = scanner.nextInt();
}
}
scanner.close();
从文件读取矩阵
假设文件内容为矩阵数据(每行空格分隔),使用BufferedReader读取:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
String filePath = "matrix.txt";
try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
String line;
int row = 0;
int[][] matrix = new int[10][10]; // 假设最大行列为10
while ((line = br.readLine()) != null) {
String[] values = line.split(" ");
for (int col = 0; col < values.length; col++) {
matrix[row][col] = Integer.parseInt(values[col]);
}
row++;
}
} catch (IOException e) {
e.printStackTrace();
}
动态调整矩阵大小
若需动态调整矩阵大小,可以使用ArrayList存储数据:

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
List<List<Integer>> matrix = new ArrayList<>();
System.out.println("输入矩阵行(空行结束):");
while (true) {
String line = scanner.nextLine().trim();
if (line.isEmpty()) break;
String[] values = line.split(" ");
List<Integer> row = new ArrayList<>();
for (String val : values) {
row.add(Integer.parseInt(val));
}
matrix.add(row);
}
scanner.close();
注意事项
- 输入时需确保行列数一致,避免数组越界。
- 文件读取时需处理可能的
IOException。 - 动态调整大小时,
ArrayList比二维数组更灵活但效率略低。






