3. 编写 Java程序, 设计 MyArray3 类来实现以下要求: 找出一个:3×4矩阵二维数组中的最大最小值, 二维数组的元素的值由系统随机数生成函数 rand()产生, 取值范围为两位数即[10,100)之间。输出最大最小值的行列位置序号。
时间: 2024-11-06 17:21:29 浏览: 27
为了满足这个需求,你可以创建一个名为`MyArray3`的Java类,使用嵌套循环遍历3x4的二维数组,并利用`Math.random()`函数生成随机数。下面是一个简单的实现步骤:
```java
import java.util.Random;
public class MyArray3 {
private static final int ROWS = 3;
private static final int COLS = 4;
public static void main(String[] args) {
// 创建一个新的二维数组并填充随机数
int[][] matrix = new int[ROWS][COLS];
Random random = new Random();
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
matrix[i][j] = random.nextInt(100) + 10; // 生成[10, 100)之间的随机整数
}
}
// 找到最大值和最小值及其位置
int maxVal = matrix[0][0], minVal = matrix[0][0];
int maxRow = 0, maxCol = 0, minRow = 0, minCol = 0;
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
if (matrix[i][j] > maxVal) {
maxVal = matrix[i][j];
maxRow = i;
maxCol = j;
} else if (matrix[i][j] < minVal) {
minVal = matrix[i][j];
minRow = i;
minCol = j;
}
}
}
System.out.println("最大值:(" + maxRow + ", " + maxCol + ")");
System.out.println("最大值的值:" + maxVal);
System.out.println("最小值:(" + minRow + ", " + minCol + ")");
System.out.println("最小值的值:" + minVal);
}
}
```
在这个例子中,`main`方法首先创建了一个3x4的二维数组,并用`Math.random()`生成随机数填充。然后,它遍历整个数组来找出最大值和最小值以及它们所在的位置。最后,打印出找到的最大值、最小值及它们所在的行和列。
阅读全文