用JAVA语言编程.有一个5×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号.

2025-01-23 10:20:16
推荐回答(5个)
回答1:

import java.util.Random;
public class Test2 {
 public static void main(String[] args){
  // 初始化出一个5X4的矩阵
  int[][] a = new int[5][4];
  Random r = new Random();
  for (int i = 0; i < a.length; i++) {
   for (int j = 0; j < a[i].length; j++) {
    a[i][j] = r.nextInt(100);
    System.out.print(a[i][j] + "    ");
   }
   System.out.println();
  }
  // 找最大值
  int max = a[0][0];
  int maxi = 0;
  int maxj = 0;
  for (int i = 0; i < a.length; i++) {
   for (int j = 0; j < a[i].length; j++) {
    if (a[i][j] > max) {
     max = a[i][j];
     maxi = i;
     maxj = j;
    }
   }
  }
  System.out.println("max value:" + max + "     max index:[" + maxi +"]["+ maxj+"]");
 }
}

回答2:

public class Test {
public static void main(String[] args){
//定义矩阵
int[][] a =new int[][]{{1,2,3,4},{12,22,3388,44},{51,62,3776,4},{18,2,73,4},{1,26,35,448}};
//记录行好和列号
int h=0;
int l=0;
for(int i=0;i<5;i++){
for(int j=0;j<4;j++){
if(a[h][l] h=i;
l=j;
}
}
}
//因为Java中的数组索引时从0开始的,与数学中矩阵不一样,需要加1
System.out.println("最大值:"+a[h][l]+" 行号为"+(h+1)+" 列号为"+(l+1));
}
}

回答3:

public class MaxInMatrix {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[][] arr={{1,3,4,5},{3,2,5,23},{324,54,323,32},{232,343,2,3212},{1,4,5,3430}};
int max=arr[0][0];
int col=0;
int row=0;
for(int i=0;i<5;i++)
for(int j=0;j<4;j++){
if(arr[i][j]>max){
max=arr[i][j];
col=j+1;
row=i+1;
}
}
System.out.println("最大:"+max+"行:"+row+"列:"+col);

}
随便写的,你可以改造一下

回答4:

int a[][] = new int[5][4];
//a赋值略
int max = a[0][0];
int x = 0;
int y = 0;
for(int i=0;i    for(int j=0;i        if(max < a[i][j]){
            max = a[i][j];
            x = i;
            y = j;
        }
    }
}

System.out.println("最大值为:" + max + "坐标为:"+x+":"+y);

回答5:

int x = 0;
int y = 0;
int max = 0;
int[][] a = new int[5][4];
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
a[i][j] = ((int)(1+Math.random()*100000));
System.out.println("第"+i+"行 " + j +"列值为:"+ a[i][j]);
if(a[i][j] > max){
max = a[i][j] ;
x = i;
y = j;
}
}
}
System.out.println("最大值为:"+max +"在第"+x+"行"+y+"列");