求助,JAVA,帮忙检查一下。
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
读入 2 个正整数 m和n(1≤m,n≤6), 再读入1个 m×n 阶矩阵 a , 计算该矩阵元素的最大值。
要求:编写max(),返回矩阵元素的最大值。
例:括号内是说明
输入:
1 (repeat=1)
3 2 (m=3,n=2)
23 465
567 78
89 4
输出:
max=567
import java.util.Scanner;
public class Test60032{
public static void main(String []args){
int ri, repeat;
int a[][],i,j,m,n;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++){
m=in.nextInt();n=in.nextInt();
a=new int[m][n];
for(i=0; i<m; i++)
for(j=0;j<n;j++)
a[i][j]=in.nextInt();
System.out.println("max="+max(a));
}
}
/*---------*/
}
我的答案:
import java.util.Scanner;
public class Test60032{
public static void main(String []args){
int ri, repeat;
int a[][],i,j,m,n;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++){
m=in.nextInt();n=in.nextInt();
a=new int[m][n];
for(i=0; i<m; i++)
for(j=0;j<n;j++)
a[i][j]=in.nextInt();
System.out.println("max="+max(a));
}
}
static int max(int a[][]){
int i ,j,t;
t=a[0][0];
for(i=0;i<a[i].length;i++)
for(j=0;j<a[j].length;j++)
if(a[i][j]>t)
t=a[i][j];
return t;
}
}
输入:
1
3 2
23 4
5 21
35 2
输出:23
为什么???帮忙检查一下哪里错了。。。
答案:static int max(int a[][]){
int i ,j,t;
t=a[0][0];
for(i=0;i<a.length;i++){
for(j=0;j<a[i].length;j++){
if(t<a[i][j]){
t=a[i][j];
}
}
}
return t;
}
改成这样
上一个:JAVA多选题: 假设以下选项中的变量已正确定义,找出合法的表达式
下一个:Java多选题:a为byte类型的变量,找出下列中不正确的赋值语句选项