急问Java初学者!

求一个3×4矩阵中,求每列元素的和,并输出。(元素赋值通过输入语句完成)

我的思路是:
首先,创建一个3行4列的二维int数组,用于存储3x4的矩阵的元素值。

然后,用双层for‘循环从输入来获取3x4矩阵每个元素的值。为了便于查看,接着用一个双层for循环打印矩阵元素的值。

最后,创建一个4个元素值的int数组用于存储4列矩阵元素值的和,然后用双层for循环来获取矩阵每列的元素值的和,同时打印它们的值。

代码如下:

import java.util.Scanner;

public class MatrixTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int matrix [][] = new int[3][4];  //存储3x4矩阵元素的值
        
        Scanner sc  = new Scanner(System.in);    
        //从输入获取值到3x4矩阵的元素中
        for(int i=0;i<3;i++) { 
            for(int j=0;j<4;j++) {
                System.out.println("请输入矩阵第"+(i+1)+"行第"+(j+1)+"列的元素值:");
                matrix[i][j]=sc.nextInt();
            }
        }
        
        //打印3x4矩阵元素的值,用于查看
        System.out.println("输入的矩阵的值为:");
        for(int i=0;i<3;i++) {
            for(int j=0;j<4;j++) {
                System.out.print(matrix[i][j]+" ");        
            }
            System.out.println();
        }
        
        //遍历矩阵元素二维数组,计算每列矩阵元素的和,计算完成后打印它们的值
        int cols[] = new int [4];
        for(int i=0;i<4;i++) {
            
            for(int j=0;j<3;j++) {
                cols[i] += matrix[j][i];
            }    
            System.out.println("第"+(i+1)+"列矩阵元素之和是:"+cols[i]);
        }
        
        
    }

}

img

代码

package Answer7795583;

import java.util.Scanner;

public class Answer7795583 {

    public static void main(String[] args) {
        double[][] a = new double[3][4];
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个3x4的矩阵");
        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < a[0].length; j++) {
                a[i][j] = input.nextDouble();
            }
        }
        double sum[]=new double [a[0].length];
        System.out.println("每列元素的和为");
        for (int i = 0; i < a[0].length; i++) {
            for (int j = 0; j < a.length; j++) {
                sum[i]+=a[j][i];
            }
            System.out.println("该矩阵第"+(i+1)+"列的和为:"+sum[i]);
        }
    }

}


运行截图

img

关于俩矩阵输入,可以看一下我这种方法:


// 给两个数组初始化
        for (int i = 0; i < 2; i++) {
            System.out.println("请输入第" +(i+1)+"个矩阵:");
            for (int j = 0; j < rows; j++) {
                for (int k = 0; k < columns; k++) {
                    if(i==0){   //如果是第一次循环,则给第一个数组赋值
                        a[j][k] = sc.nextInt();
                    }else{      //否则给第二个数组赋值
                        b[j][k] = sc.nextInt();
                    }
                }
            }
        }

img