由随机数产生的二维数组,算出二维数组的最值及其下标,代码中的m,n问题出在哪里
public class Example {int [][]fun(int x){
int [][]l =new int;
int []n=new int;
int i,j;
for(i=0;i<x*x;i++){//取随机数
while(true){
n=(int)(Math.random()*(1000-100)+100); //所取的随机数范围在100-1000之间
for(j=0;j<i;j++){
if(n==n)
break;//除去相同的随机数
}
if(j==i)
break;//除去相同的随机数
}
}
for(i=0;i<x;i++){
for(j=0;j<x;j++){
l=n;
}
}
return l;
}
public static void main(String args[]){
Example main=new Example();
int [][]k=main.fun(10);
for(int i=0;i<k.length;i++){
for(int j=0;j<k.length;j++){
System.out.print(k+"\t");
}
System.out.println();//打印输出产生的二维数组
}
int max = 0;
int min = k;
int m = 1;//第m行
int n = 1;//第n列
for(int i = 0;i<k.length;i++){
for(int j = 0;j<k.length-1;j++){
if(max < k){
m = i+1;
n = j+1;
max = k;
}
if(min > k){
m = i+1;
n = j+1;
min = k;
}
}
}
System.out.println("最大值为:"+max+"其下标为"+m+"行"+n+"列");
System.out.println("最小值为:"+min+"其下标为"+m+"行"+n+"列");
}
} 记录最值的变量分开就好了
public static void main(String args[]) {
Example main = new Example();
int[][] k = main.fun(10);
for (int i = 0; i < k.length; i++) {
for (int j = 0; j < k.length; j++) {
System.out.print(k + "\t");
}
System.out.println();// 打印输出产生的二维数组
}
int max = 0;
int min = k;
//最大值
int m = 1;// 第m行
int n = 1;// 第n列
//最小值
int m_min = 1;// 第m行
int n_min = 1;// 第n列
for (int i = 0; i < k.length; i++) {
for (int j = 0; j < k.length - 1; j++) {
if (max < k) {
m = i + 1;
n = j + 1;
max = k;
}
if (min > k) {
m_min = i + 1;
n_min = j + 1;
min = k;
}
}
}
System.out.println("最大值为:" + max + "其下标为" + m + "行" + n + "列");
System.out.println("最小值为:" + min + "其下标为" + m_min + "行" + n_min + "列");
} cglmj 发表于 2020-3-5 16:07
记录最值的变量分开就好了
public static void main(String args[]) {
Example ...
十分感谢{:1_893:}
页:
[1]