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

用随机数对象产生0---1000范围内的不同整数,用以初始化一个M*N的二维数组(M*N<100),然后编程找出二维数组中的最大数和最小数,并将其交换位置。要求输出原始二... 用随机数对象产生0---1000范围内的不同整数,用以初始化一个M*N的二维数组(M*N<100),然后编程找出二维数组中的最大数和最小数,并将其交换位置。要求输出原始二维数组及交换后的二维数组。 展开
 我来答
百度网友9174666d0
2011-05-07 · TA获得超过336个赞
知道小有建树答主
回答量:138
采纳率:0%
帮助的人:202万
展开全部
public static void main(String[] args) {
int rand = 1000; //随机数最大值
int[][] array = new int[10][10]; //长度为10*10的二维数组
Set<Integer> set = new HashSet<Integer>();
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){
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();
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式