import java.util.*;
class str
{
   int n1,m1;
   Scanner aa=new Scanner(System.in);
   void cc(int m_,int n_)
   {
     n1=n_;
     m1=m_;
   }
   int[] lie=new int[n1];
   int[] forever()
   {
      int num=0;
      int[][] lj=new int[m1][n1];
      System.out.println("请 输 入 二 维 数 组(每两个元素以空格为间隔,当一行输入完以回车结束)");
      for(int i=0;i<m1;i++)
        {
           for(int j=0;j<n1;j++)
           {
             System.out.print(" ");
             lj[i][j]=aa.nextInt();
             
            }
           System.out.println();
        }
       for(int g=0;g<n1;g++)
      {
         lie[g]=0;
         for(int h=0;h<m1;h++)
          lie[g]+=lj[h][g];
      }
      return lie;
   }
    
   
}
public class zys3_
{
   public static void main(String[] args)
   { 
      Scanner bb=new Scanner(System.in);
      str love=new str();
      int m,n;
     System.out.println("请输入二维数组的行数m:");
      m=bb.nextInt();
      System.out.println("请输入二维数组的列数n:");
      n=bb.nextInt();
      love.cc(m,n);
      int[] jj=new int[n];
      jj=love.forever();
      for(int k=1;k<=n;k++)
       System.out.println("第"+k+"列元素之和是"+jj[k-1]);
   
   }
}

解决方案 »

  1.   


    import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;class str
    {
    int n1,m1;
       Scanner aa=new Scanner(System.in);
      
      void cc(int m_,int n_){
      n1=n_;
      m1=m_;
      }
      
      int[] lie;
    //这个玩笑开大了吧,你的int[] lie = new int[n1]有用吗;n1还没有赋值呢
      int[] forever(){
      int[][] lj=new int[m1][n1];
      System.out.println("请 输 入 二 维 数 组(每两个元素以空格为间隔,当一行输入完以回车结束)");
      List list = new ArrayList();
      for(int i=0;i<m1;i++){
      for(int j=0;j<n1;j++){
      System.out.print(" ");
      lj[i][j]=aa.nextInt();
      list.add(lj[i][j]);
      }
      }
      System.out.println(list);
      lie = new int[n1];//接上面:所以我又加了一段初始化了。
      for(int g = 0;g<n1;g++){
      lie[g] = 0;
      for(int h=0;h<m1;h++){
      lie[g]+=lj[h][g];
      }
      }
       return lie;
      }
    }
    public class zys3_
    {
      public static void main(String[] args)
      { 
      Scanner bb=new Scanner(System.in);
      str love=new str();
      int m,n;
      System.out.println("请输入二维数组的行数m:");
      m=bb.nextInt();
      System.out.println("请输入二维数组的列数n:");
      n=bb.nextInt();
      love.cc(m,n);
      int[] jj=new int[n];
      jj=love.forever();
      for(int k=1;k<=n;k++)
      System.out.println("第"+k+"列元素之和是"+jj[k-1]);
      }
    }
      

  2.   

    void cc(int m_,int n_) 这个是调用的时候传参数进来,可以啊