求一个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]);
}
}
}
代码
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]);
}
}
}
运行截图
关于俩矩阵输入,可以看一下我这种方法:
// 给两个数组初始化
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();
}
}
}
}