在eclipse中编写Java程序,设计MyArray3类来实现以下要求:找出一个3×4矩阵二维数组中的最大最小值,二维数组的元素的值由系统随机数生成函数rand()产生,取值范围为两位数即[10,100)之间。输出最大最小值的行列位置序号。
时间: 2023-06-10 20:06:08 浏览: 444
求二维数组中最大最小值及行列号
下面是MyArray3类的代码实现:
```java
import java.util.Random;
public class MyArray3 {
private int[][] arr;
public MyArray3() {
arr = new int[3][4];
Random rand = new Random();
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
arr[i][j] = rand.nextInt(90) + 10;
}
}
}
public void print() {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
System.out.print(arr[i][j] + "\t");
}
System.out.println();
}
}
public void findMaxMin() {
int max = arr[0][0], min = arr[0][0];
int maxRow = 0, maxCol = 0, minRow = 0, minCol = 0;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
if (arr[i][j] > max) {
max = arr[i][j];
maxRow = i;
maxCol = j;
}
if (arr[i][j] < min) {
min = arr[i][j];
minRow = i;
minCol = j;
}
}
}
System.out.println("最大值:" + max + ",行:" + maxRow + ",列:" + maxCol);
System.out.println("最小值:" + min + ",行:" + minRow + ",列:" + minCol);
}
public static void main(String[] args) {
MyArray3 arr = new MyArray3();
arr.print();
arr.findMaxMin();
}
}
```
在主函数中,首先创建一个MyArray3对象arr,然后调用print()方法输出随机生成的二维数组。接着调用findMaxMin()方法,该方法使用两个变量max和min保存当前找到的最大值和最小值,使用四个变量maxRow、maxCol、minRow和minCol分别保存最大值和最小值所在的行和列。使用两层循环遍历二维数组,对每个元素进行比较,如果当前元素比max大,则更新max、maxRow和maxCol;如果当前元素比min小,则更新min、minRow和minCol。最后输出最大值和最小值以及它们所在的行和列。
阅读全文