用JAVA输入一个二维数组a[3][4]的元素值,求输出其元素最大值

如题所述

这个简单啊,把所有元素遍历一边

代码:


import java.util.Scanner;


public class Help2 {

public static void main(String[] args) {

Scanner input=new Scanner(System.in);

System.out.print("请输入第一行(4个数):");

String line1=input.next();

System.out.print("请输入第二行(4个数):");

String line2=input.next();

System.out.print("请输入第三行(4个数):");

String line3=input.next();

String[] inStrs=new String[3];

inStrs[0]=line1;

inStrs[1]=line2;

inStrs[2]=line3;


int[][] in=new int[3][4];


for(int i=0;i<in.length;i++){

    for(int j=0;j<in[i].length;j++){

           in[i][j]=Integer.parseInt(""+inStrs[i].charAt(j));

    }

}


System.out.println("最大数:"+getMax(in));

}

public static int getMax(int[][] in){

   int max=0;

   for(int i=0;i<in.length;i++){

           for(int j=0;j<in[i].length;j++){

                   if(in[i][j]>max){

                         max=in[i][j];

                   }

           }

   }

   return max;

}


}



温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-12
这才是懂你的代码:

public void Class Test{

public static void main(String ar[]){
testArray();
}

/**
* java定义一个3行4列的二维整数数组,
* 从键盘输入数组中的每一个整数,
* 然后找出数组中的最大值,
* 输出该值及其行下标和列下标
*
*/
public static void testArray() {
int[][] array = new int[3][4];
int max = 0;
int row = 0, col = 0;
Scanner s=new Scanner(System.in);

//从键盘输入数组元素
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.println("请输入元素a["+i+"]["+j+"]的值:");
array[i][j] = s.nextInt();
}
}

//遍历数组取最大值,并取得下标
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
if (max < array[i][j]) {
max = array[i][j];
row = i;
col = j;
}
}
}
System.out.println("最大值为" + max + ",位于行下标" + row + ",列下标"
+ col);
}

}

亲,记得采纳哦!
第2个回答  2014-12-12
public static int max(int array[][]){
if(array==null){
return -1;//自定义一个
}
int n = array.length; //就是行数
int m = array[0].length;// 就是列数
int max = array[0][0];
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(max<array[i][j]){
max = array[i][j];
}
}
}
return max;
}

第3个回答  2014-12-12
不知道你是不是要求这个数组的最大值,
int max=-999999;
for(int i=0;i<3;i++){
for(int j=0;j<4;j++){
if(max<=a[i][j])
max=a[i][j];

}

}
system.out.println(max);
第4个回答  2014-12-12
每行找个最大的,结果存入一维数组,再从这个一维数组中找个最大的。
相似回答