java用随机数对象产生0---100范围内的不同整数,用以初始化一个MN的二维数组(MN<100),然后编程找出二维数组中的最大数和最小数,并将其交换位置。要求输出原始二维数组及交换后的二维数组。
时间: 2023-02-23 19:51:10 浏览: 150
以下是实现该需求的Java代码:
```
import java.util.Random;
public class Main {
public static void main(String[] args) {
int m = 5;
int n = 4;
int[][] arr = new int[m][n];
Random random = new Random();
// 初始化二维数组
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
arr[i][j] = random.nextInt(101);
}
}
// 输出原始二维数组
System.out.println("原始二维数组:");
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
// 找出最大数和最小数并交换位置
int maxValue = Integer.MIN_VALUE;
int maxI = 0;
int maxJ = 0;
int minValue = Integer.MAX_VALUE;
int minI = 0;
int minJ = 0;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (arr[i][j] > maxValue) {
maxValue = arr[i][j];
maxI = i;
maxJ = j;
}
if (arr[i][j] < minValue) {
minValue = arr[i][j];
minI = i;
minJ = j;
}
}
}
int temp = arr[maxI][maxJ];
arr[maxI][maxJ] = arr[minI][minJ];
arr[minI][minJ] = temp;
// 输出交换后的二维数组
System.out.println("交换后的二维数组:");
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
}
}
```
阅读全文