一道java 编程练习题,谁帮帮忙啊?

2024-12-12 07:29:50
推荐回答(1个)
回答1:

public static void main(String[] args) {
int rand = 1000; //随机数最大值
int[][] array = new int[10][10]; //长度为10*10的二维数组
Set set = new HashSet();
while(true){
if(set.size()==100)
break;
set.add((int)(Math.random()*rand));
}
Object[] num = set.toArray();
for (int i = 0; i < num.length; i++) {
array[i/10][i%10] = (Integer) num[i];
}
System.out.println("原数组为:");
print(array);
int min=rand,max=0;
int minX=0,minY=0,maxX=0,maxY=0;
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
if(array[j][i] min = array[j][i];
minX=j;
minY=i;
}
if(array[j][i]>max){
max = array[j][i];
maxX=j;
maxY=i;
}
}
}
int temp = array[minX][minY];
array[minX][minY]=array[maxX][maxY];
array[maxX][maxY]=temp;
System.out.println("改变最小值最大值后的数组为:");
print(array);
}
public static void print(int[][] array) {
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.print(array[j][i]+"\t");
}
System.out.println();
}
}