
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方法获得其转置矩阵,最后输出转置矩阵各行上的数值。
题目如上 编译没问题 但是输出结果与题目要求不符合 谁帮我改改 谢谢 展开
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方法获得其转置矩阵,最后输出转置矩阵各行上的数值。
题目如上 编译没问题 但是输出结果与题目要求不符合 谁帮我改改 谢谢 展开
1个回答
展开全部
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();
}
}
}
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();
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询