克隆丈夫大结局是什么:刚刚开始接触java,遇到了问题,始终想不明白,谁能帮帮我

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/03 07:36:23
/*我实在受不了了,放弃。我的问题是,为什么我把这个
int a [ ] [ ]={{1,3,4},{9,5,3}};放在class Find里面就能成功,而把int a [ ] [ ] =new int [m ] [ n];放在
class Find里面就报错。编译可以通过,错误提示是
Exception in thread"main"java.lang.ArrayIndexOutBoundsException:0
at Find.find(T3.java:12)
at T3.main(T3.java:29)*/
/*这个运行成功,下一个报错*/
class Find
{
void find()
{
int a [ ] [ ]={{1,3,4},{9,5,3}};
int i,j,max;
max=a[0][0];
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)

if(a[i][j]>max) max=a[i][j];

}
System.out.print(max);
}
}
public class T3
{
public static void main(String [ ] args)
{
Find k=new Find();
k.find ();
}
}
/*这个运行不了错误提示见最上面的提示*/
class Find
{
int m,n;
void find()
{
int a [ ] [ ] =new int [m ] [ n];
int i,j,max;
max=a[0][0];
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)

if(a[i][j]>max) max=a[i][j];

}
System.out.print(max);
}
}
public class T3
{
public static void main(String [ ] args)
{
int a [ ] [ ]={{1,3,4},{9,5,3}};
Find k=new Find();
k.find ();
}
}

楼上说的虽然是对的但是和这个题目无关

int a [ ] [ ]={{1,3,4},{9,5,3}};
Find k=new Find();
k.find ();

看看这段代码
int a [ ] [ ]={{1,3,4},{9,5,3}};
这个声明和
Find k=new Find();
k.find ();

没有任何关系,也就是说
程序相当于
Find k=new Find();

k.find ();

这样子的话 在Find类里面的这句
System.out.print(max);
就不对了,因为a[0][0]没有被赋值

另外你的Find类里面的m,n没有初始值
所以会被默认为0
这些都会导致错误

JAVA数组不支持动态分配大小,要预先定义数组的上界,否则就会认为数组越界咯