下面的那个java小程序哪里出错了,请帮忙修改一下,还有知识点!
packageshuzhu;publicclassshuzhu{publicstaticvoidmain(Stringarg[]){intx[][]={{1,2,3,4,...
package shuzhu;
public class shuzhu
{
public static void main(String arg[])
{
int x[][]={{1,2,3,4,6,7,},
{8,3,88,89,9,9},
{2,8,7,38,2,7},
{9,8,2,6,1,5},
{8,2,7,2,8,1},
{7,8,9,2,1,3}};
int y[][],k[][];
int i,j,m1,m2,z,r;
for(i=0;i<6;i++)
{
for(j=0;j<6;j++)
System.out.println(x[i][j]);
}
for(m1=0;m1<6;m1++)
{
m2=0;
if(x[m1][m2]>x[m1+1][m2])
{
y[m1][m2]=x[m1][m2];
x[m1][m2]=x[m1+1][m2];
x[m1+1][m2]=y[m1][m2];
}
System.out.println(x[m1][m2]);
}
for(z=1;z<=6;z++)
{
for(r=1;r<=5;r++)
System.out.println( x[z][r]);
}
}
} 展开
public class shuzhu
{
public static void main(String arg[])
{
int x[][]={{1,2,3,4,6,7,},
{8,3,88,89,9,9},
{2,8,7,38,2,7},
{9,8,2,6,1,5},
{8,2,7,2,8,1},
{7,8,9,2,1,3}};
int y[][],k[][];
int i,j,m1,m2,z,r;
for(i=0;i<6;i++)
{
for(j=0;j<6;j++)
System.out.println(x[i][j]);
}
for(m1=0;m1<6;m1++)
{
m2=0;
if(x[m1][m2]>x[m1+1][m2])
{
y[m1][m2]=x[m1][m2];
x[m1][m2]=x[m1+1][m2];
x[m1+1][m2]=y[m1][m2];
}
System.out.println(x[m1][m2]);
}
for(z=1;z<=6;z++)
{
for(r=1;r<=5;r++)
System.out.println( x[z][r]);
}
}
} 展开
8个回答
展开全部
首先,int y[][],k[][]这种定义是错的,后面不能使用,看你的代码后面只是两个数的交换,所以随便定义一个int变量就可以了;
还有,在你的第三个for循环中,已经有x[m1+1],所以上面的m1必须<5,不能使6;
最后一个双重循环,都是从0开始,到5结束。
还有,在你的第三个for循环中,已经有x[m1+1],所以上面的m1必须<5,不能使6;
最后一个双重循环,都是从0开始,到5结束。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
y用作交换的临时变量,就不需要定义为数组类型,数组k从未使用。最后
for(z=1;z<=6;z++)
{
...
输出数组下标越界。改为<。
还有程序的功能是气泡排序吗,如果是,程序没有实现此功能。
把这些代码放eclipse下就知道错误了。
for(z=1;z<=6;z++)
{
...
输出数组下标越界。改为<。
还有程序的功能是气泡排序吗,如果是,程序没有实现此功能。
把这些代码放eclipse下就知道错误了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
关键就两个问题,一个是数组y没有实例化就使用了。二是数组越界异常。首先if(x[m1][m2]>x[m1+1][m2])这个地方,如果上面循环m1=5。x[m1+1][m2]越界。还有最后的System.out.println( x[z][r]);z循环为6的时候,System.out.println( x[z][r]);越界异常。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、 int y[][]没有初始化,我建议是int y[][]=x,因为你下面是x与y做比较;
2、数组越界;
要注意,二维数组的下标是从0开始的。所以个数总的为5,6是不对的,会导致越界。
2、数组越界;
要注意,二维数组的下标是从0开始的。所以个数总的为5,6是不对的,会导致越界。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数组长度为6,m1=5时(第六个元素), m1+1越界了
第3个for循环也有这问题。。
第3个for循环也有这问题。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询