首页新闻找找看学习计划

请大神帮忙瞧瞧,为什么不能转置啊?

0
[待解决问题]

public class Zhuanzhi

{

   public static void main(String[] args)

   {   

    Zhuan z=new Zhuan();  

     int [][] b ={{1,2,3},{4,5,6},{7,8,9}};   

       for(int i=0;i<3;i++)  

       {    for(int j=0;j<3;j++)   

         {     System.out.print(b[i][j]+"   ");   

            if(j==2)     

          {      

            System.out.println();    

           }    

         }  

       }   

      System.out.println("*********");  

       z.huan(b);  

     for(int i=0;i<3;i++)  

     {    for(int j=0;j<3;j++)    

       {     System.out.print(b[i][j]+"   ");  

           if(j==2)    

         {      

          System.out.println();     

         }   

       }   

    }

   }

}

 

class Zhuan

{  

  public  int[][] huan(int [][] a)  

   {   a =new int [3][3];  

     int [][] c =new int [3][3];

      for(int i=0;i<3;i++)  

     {    

      for(int j=0;j<3;j++)   

       {     

        c[i][j]=a[i][j];   

         a[i][j]=c[j][i];     

       }   

    }  

     return a;  

  }

}

上山打捞虎的主页 上山打捞虎 | 菜鸟二级 | 园豆:202
提问于:2015-03-20 00:30
< >
分享
所有回答(2)
0

好好学习 值传递, 引用传递吧,

过于执著 | 园豆:339 (菜鸟二级) | 2015-03-20 09:36
0

for(int j=0;j<3;j++)   

       {     

        c[i][j]=a[i][j];   

         a[i][j]=c[j][i];     

       }   

这个循环体内赋值有问题

写一句赋值就好了,c[i][j]=a[j][i];

然后返回c数字就是转过了的 

茂茂 | 园豆:2860 (老鸟四级) | 2015-03-23 11:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册