. 编写 Java程序, 设计 MyArray3 类来实现以下要求: 找出一个:3×4矩阵二维数组中的最大最小值, 二维数组的元素的值由系统随机数生成函数 rand()产生, 取值范围为两位数即[10,100)之间。输出最大最小值的行列位置序号。
时间: 2024-11-06 22:22:35 浏览: 5
java代码-定义一个一维数组,求出数组的最大值,最小值,平均值。
在Java中,你可以创建一个名为MyArray3的类来完成这个任务。首先,你需要创建一个3x4的二维数组,并使用`rand()`函数填充随机数。然后遍历整个数组寻找最大值和最小值及其位置。以下是具体的实现步骤:
```java
import java.util.Random;
public class MyArray3 {
private int[][] matrix;
private int maxVal;
private int minVal;
private int maxRow;
private int maxCol;
private int minRow;
private int minCol;
public MyArray3() {
matrix = new int[3][4]; // 创建3x4矩阵
Random random = new Random();
// 使用random函数填充矩阵
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
matrix[i][j] = random.nextInt(100) + 10; // [10, 100)
if (matrix[i][j] > maxVal || (matrix[i][j] == maxVal && i < maxRow)) {
maxVal = matrix[i][j];
maxRow = i;
maxCol = j;
}
if (matrix[i][j] < minVal || (matrix[i][j] == minVal && i > minRow)) {
minVal = matrix[i][j];
minRow = i;
minCol = j;
}
}
}
}
public void printMatrixAndValues() {
System.out.println("矩阵:\n" + toStringMatrix(matrix));
System.out.println("最大值 (" + maxVal + ") 的位置: 行 " + maxRow + ", 列 " + maxCol);
System.out.println("最小值 (" + minVal + ") 的位置: 行 " + minRow + ", 列 " + minCol);
}
private String toStringMatrix(int[][] matrix) {
StringBuilder sb = new StringBuilder();
for (int[] row : matrix) {
for (int elem : row) {
sb.append(elem).append(' ');
}
sb.append("\n");
}
return sb.toString().trim();
}
public static void main(String[] args) {
MyArray3 myArray = new MyArray3();
myArray.printMatrixAndValues();
}
}
```
这个例子中,`MyArray3`类包含一个`matrix`二维数组,以及变量用于存储最大值和最小值及其对应的行和列索引。`printMatrixAndValues`方法用于显示矩阵和找到的最大最小值的位置。
阅读全文