java利用随机数产生一个10行,10列的整型矩阵。完成如下操作: (1)输出矩阵中元素的最大值及最大值所在的位置(行、列值); (2)输出该矩阵的转置矩阵。
时间: 2024-10-21 20:10:57 浏览: 41
在Java中,我们可以使用`Random`类生成随机数,并通过二维数组创建一个10行10列的整型矩阵。接下来我会演示如何完成这两个操作:
```java
import java.util.Random;
public class MatrixGenerator {
public static void main(String[] args) {
int[][] matrix = new int[10][10];
Random rand = new Random();
// 生成矩阵
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
matrix[i][j] = rand.nextInt(100); // 随机生成0到99之间的整数
}
}
// 输出矩阵及其最大值和位置
System.out.println("原始矩阵:");
printMatrix(matrix);
int max = findMax(matrix);
int[] maxPosition = findMaxPosition(matrix);
System.out.printf("最大值: %d, 位置: 行 %d 列 %d\n", max, maxPosition[0], maxPosition[1]);
// 输出矩阵转置
System.out.println("\n矩阵转置:");
int[][] transposedMatrix = transpose(matrix);
printMatrix(transposedMatrix);
}
private static void printMatrix(int[][] matrix) {
for (int[] row : matrix) {
for (int value : row) {
System.out.print(value + " ");
}
System.out.println();
}
}
private static int findMax(int[][] matrix) {
int max = Integer.MIN_VALUE;
for (int[] row : matrix) {
for (int value : row) {
if (value > max) {
max = value;
}
}
}
return max;
}
private static int[] findMaxPosition(int[][] matrix) {
int max = Integer.MIN_VALUE;
int row = -1, col = -1;
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[0].length; j++) {
if (matrix[i][j] > max) {
max = matrix[i][j];
row = i;
col = j;
}
}
}
return new int[]{row, col};
}
private static int[][] transpose(int[][] matrix) {
int rows = matrix.length;
int cols = matrix[0].length;
int[][] transposed = new int[cols][rows];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
transposed[j][i] = matrix[i][j];
}
}
return transposed;
}
}
```
在这个程序中,我们首先创建了一个10x10的矩阵,然后找出其中的最大值及其位置,并输出转置后的矩阵。
阅读全文