矩阵的相加,相减,相乘(懵逼的作业)

题目

java老师,给我们布置了一道这样的作业
   定义类ArrayTest,定义方法:
   arrayAddition,计算两个数组的和(两个数组的行数和列数必须相等);
   arraySubtion计算两个数组的差(两个数组的行数和列数必须相等);
   arrayMul计算两个数组的乘积(第二个数组的行数必须与第一个数组的列数相等);

思路:

很简单,(懒得说)~~~

小编从来没有听过Java课,于是想尝试一下,故:

package bag;

import java.util.Scanner;

public class ArrayTest {
	
	//相加
    public void arrayAddition(int [][]a,int [][] b)
    {
        int[][]c=new int[a.length][b[0].length];  
        for(int i=0;i<a.length;i++){  
            for(int j=0;j<a[0].length;j++){  
                c[i][j]=a[i][j]+b[i][j];  
            }        
        }  
        for(int i=0;i<a.length;i++){
       	 	for(int j=0;j<a[0].length;j++)
       		 System.out.printf("%d ",c[i][j]);
        System.out.println();
        }
    }
    //相减
    
    public void arraySubtion(int[][]a,int[][] b)
    { 
        int[][]c=new int[a.length][a[0].length];  
        for(int i=0;i<a.length;i++){  
            for(int j=0;j<a[0].length;j++){  
                c[i][j]=a[i][j]-b[i][j];  
            }              
        }  
        for(int i=0;i<a.length;i++) {
       	 	for(int j=0;j<a[0].length;j++)
       	 	System.out.printf("%d ",c[i][j]);
       	 	System.out.println();
        }    
    }
    
    //相乘
    public void arrayMul(int[][] a,int[][] b)
    {   	 
          int[][] c=new int[a.length][b[0].length];
             for(int i=0;i<a.length;i++){
                 for(int j=0;j<b[0].length;j++){                
                	 c[i][j] = a[i][j] * b[i][j];                 
                 }
            }
         for(int i=0;i<a.length;i++) {
        	 for(int j=0;j<b[0].length;j++)
        		 System.out.printf("%d ",c[i][j]);
         	System.out.println();
         	}
		}
	//函数入口
    public static void main(String[] args ) {
		Scanner s = new Scanner(System.in);
		System.out.println("请输入数组的行与列");
		int x=s.nextInt();//输入行,列
		int y=s.nextInt();
		int a[][] = new int[x][y];//初始化数组
		int b[][] = new int[x][y];//初始化数组
		System.out.println("请输入第一个数组");
		for(int i=0;i<x;i++)//循环输入a
			for(int j=0;j<y;j++)
				a[i][j]=s.nextInt();
		System.out.println("请输入第二个数组");
		for(int i=0;i<x;i++)//循环输入b
			for(int j=0;j<y;j++)
				b[i][j]=s.nextInt();
		System.out.println();
		System.out.println("请输入数字\n1.相加\n2.相减\n3.相乘");
		Scanner sc = new Scanner(System.in);
		int choice = sc.nextInt();
		if(choice == 1) {
			ArrayTest aa = new ArrayTest();
			aa.arrayAddition(a,b);
		}
		else if(choice == 2){
			ArrayTest aa = new ArrayTest();
			aa.arraySubtion(a,b);
		}
		else{
			ArrayTest aa = new ArrayTest();
			aa.arrayMul(a,b);
		}
	}
}

小编因为没有听课所以打了快1个小时,难受~~~(虽然用C++小编只要10min),

小编在最后奉劝大家,学编程,就要多敲键盘,看书看了再多,没有实践,懂得再多知识也没用!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金鳞踏雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值