java 执行结果错误

classZy12{publicstaticint[][]transpose(int[][]x){int[][]y=newint[30][30];for(intj=0;j... class Zy12 {
public static int[][] transpose(int[][] x) {
int[][] y = new int[30][30];
for(int j=0;j<x.length;j++) {
for(int i=0;i<x[i].length;i++)
y[i][j]=x[j][i];

}
return y;
}
public static void main(String[] args) {
Zy12 r =new Zy12();
int[][] ai = {{1,1},{2,3},{4,6}};
for(int j=0;j<ai.length;j++) {
for(int i=0;i<ai[i].length;i++)
System.out.print(ai[j][i]);
System.out.println();
}
r.transpose(ai);
for(int j=0;j<ai.length;j++) {
for(int i=0;i<ai[i].length;i++)
System.out.print(ai[j][i]);
System.out.println();
}
}
}
在类Ey12中定义方法public static int[][] transpose(int[][] x),方法返回矩阵xmn的转置矩阵ynm。
yij = xji i=0,1,...,n-1;j=0,1,...,m-1。
然后再在类中定义main方法,以测试上述方法。在main方法中,首先创建一个矩阵(数组)、并输出其各行上的数值,然后再调用transpose方法获得其转置矩阵,最后输出转置矩阵各行上的数值。
题目如上 编译没问题 但是输出结果与题目要求不符合 谁帮我改改 谢谢
展开
 我来答
greatdoudou
2010-06-07 · TA获得超过171个赞
知道小有建树答主
回答量:335
采纳率:100%
帮助的人:284万
展开全部
class Sdfs {//帮你改了,关键地方给你表明
public int[][] transpose(int[][] x) {//这个函数没有改变数组自身的值(如果在return前加上x=y,其他的就不用改了)还有静态方法要用类来引用
int[][] y = new int[x[0].length][x.length];//y的声明可以这样
for(int j=0;j<x.length;j++) {
for(int i=0;i<x[i].length;i++)
y[i][j]=x[j][i];

}
return y;
}
public static void main(String[] args) {
Sdfs r =new Sdfs();
int[][] ai = {{1,1},{2,3},{4,6}};
for(int j=0;j<ai.length;j++) {
for(int i=0;i<ai[i].length;i++)
System.out.print(ai[j][i]);
System.out.println();
}
int[][]bi =r.transpose(ai);//然后是这,要有一数组接受转换后的数组
for(int j=0;j<bi.length;j++) {
for(int i=0;i<bi[j].length;i++) //还有显示是这不能用i
System.out.print(bi[j][i]);
System.out.println();
}
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式