0

点線の後に出力を表示したい.各列の合計はその列の下に表示する必要があります.結果を配列に挿入しようとしましたが、forループの外に出すことができません.

public class SumOfColumn 
{
public static void main(String[] args) 
 {
    int i,j;
    int a[][]={{22,33,44,11},{33,55,77,11},{44,11,88,55},{33,55,22,77}};
    for(i=0;i<4;i++)
     {
         int sum=0;
         for(j=0;j<4;j++)
         {
             System.out.print(a[i][j]+ "\t" );
             sum = sum + a[j][i];
         }
    System.out.println(sum);    
    System.out.println();
    }
        System.out.println("-------------------");
    }
}

これは、結果が行の前に表示される出力です。各列の下と点線の下に結果が必要です

22  33  44  11  132

33  55  77  11  154

44  11  88  55  231

33  55  22  77  154

----------------
4

1 に答える 1

2

for() ループの範囲外で結果値を宣言します。このようなものはそれを行うべきです(ただし、テストされていません)

public class SumOfColumn 
{
public static void main(String[] args) 
 {
    int i,j;
    int a[][]={{22,33,44,11},{33,55,77,11},{44,11,88,55},{33,55,22,77}};
    int res[]={0,0,0,0};
    for(i=0;i<4;i++)
     {
         int sum=0;
         for(j=0;j<4;j++)
         {
             System.out.print(a[i][j]+ "\t" );
             sum = sum + a[j][i];
         }
        res[i]=sum;
        System.out.println(sum);    
        System.out.println();
    }
    System.out.println("-------------------");
    for(i=0;i<4;i++)
    {
        System.out.print(res[i]+ "\t" );
    }
    System.out.println();
   }
}
于 2015-07-27T18:08:55.943 に答える