矩阵的加减乘除运算(java 版)

简介

对于有了解,但是了解不深的同学,学习Java总是感觉一看就会,一些就废。往往需要一些实操练习,来夯实我们的学习结果。九九乘法表和计算器都是在编程学习领域比较经典的案例。本文为大家讲解一下两个基础

复制代码
//java 在矩阵运算中的实现
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class Matrix {
    public static void main(String[] args) {
//        生成一个A矩阵
        Random r1 = new Random();
        int a1 =r1.nextInt(100)-50;
        int a2 =r1.nextInt(100)-50;
        int a3 =r1.nextInt(100)-50;
        int a4 =r1.nextInt(100)-50;
        int a5 =r1.nextInt(100)-50;
        int a6 =r1.nextInt(100)-50;
        int a7 =r1.nextInt(100)-50;
        int a8 =r1.nextInt(100)-50;
        int a9 =r1.nextInt(100)-50;
        List<Integer> list1=new ArrayList<>();
        list1.add(a1);
        list1.add(a2);
        list1.add(a3);
        List<Integer> list2=new ArrayList<>();
        list2.add(a4);
        list2.add(a5);
        list2.add(a6);
        List<Integer> list3=new ArrayList<>();
        list3.add(a7);
        list3.add(a8);
        list3.add(a9);
        List<List> lists=new ArrayList<>();
        lists.add(list1);
        lists.add(list2);
        lists.add(list3);
        System.out.println("矩阵名称为:Lists");
        System.out.println("以下打印的是a1,a2,a3,a4,a5,a6,a7,a8,a9的对应值");
        System.out.println("a1:"+a1+",\n"+"a2:"+a2+",\n"+"a3:"+a3+",\n"+"a4:"+a4+",\n"+"a5:"+a5+",\n"+"a6:"+a6+",\n"+"a7:"+a7+",\n"+"a8:"+a8+",\n"+"a9:"+a9);
//        创建一个矩阵
        for (int i = 0; i < lists.size(); i++) {
            System.out.println(lists.get(i));
        }

//        生成一个B矩阵
        int b1 =r1.nextInt(100);
        int b2 =r1.nextInt(100);
        int b3 =r1.nextInt(100);
        int b4 =r1.nextInt(100);
        int b5 =r1.nextInt(100);
        int b6 =r1.nextInt(100);
        int b7 =r1.nextInt(100);
        int b8 =r1.nextInt(100);
        int b9 =r1.nextInt(100);
        List<Integer> listb1=new ArrayList<>();
        listb1.add(b1);
        listb1.add(b2);
        listb1.add(b3);
        List<Integer> listb2=new ArrayList<>();
        listb2.add(b4);
        listb2.add(b5);
        listb2.add(b6);
        List<Integer> listb3=new ArrayList<>();
        listb3.add(b7);
        listb3.add(b8);
        listb3.add(b9);
        List<List> listsb = new ArrayList<>();
        listsb.add(listb1);
        listsb.add(listb2);
        listsb.add(listb3);
        System.out.println("矩阵名称为:Listsb");
        System.out.println("以下打印的是b1,b2,b3,b4,b5,b6,b7,b8,b9的对应值");
        System.out.println("b1:"+b1+",\n"+"b2:"+b2+",\n"+"b3:"+b3+",\n"+"b4:"+b4+",\n"+"b5:"+b5+",\n"+"b6:"+b6+",\n"+"b7:"+b7+",\n"+"b8:"+b8+",\n"+"b9:"+b9);
//(a1*b1)+(a2*b4)+(a3*b7)
        for (int i1 = 0; i1 < listsb.size(); i1++) {
            System.out.println(listsb.get(i1));
        }
//实现矩阵Listsb+Lists
        List<Integer> listc1=new ArrayList<>();
        listc1.add(a1+b1);
        listc1.add(a2+b2);
        listc1.add(a3+b3);
        List<Integer> listc2=new ArrayList<>();
        listc2.add(a4+b4);
        listc2.add(a5+b5);
        listc2.add(a6+b6);
        List<Integer> listc3=new ArrayList<>();
        listc3.add(a7+b7);
        listc3.add(a8+b8);
        listc3.add(a9+b9);
        List<List> listsc = new ArrayList<>();
        listsc.add(listc1);
        listsc.add(listc2);
        listsc.add(listc3);
        System.out.println("实现矩阵Listsb+Lists");
        for (int ic = 0; ic < listsc.size(); ic++) {
            System.out.println(listsc.get(ic));
        }
        List<Integer> listd1=new ArrayList<>();
        listd1.add(a1-b1);
        listd1.add(a2-b2);
        listd1.add(a3-b3);
        List<Integer> listd2=new ArrayList<>();
        listd2.add(a4-b4);
        listd2.add(a5-b5);
        listd2.add(a6-b6);
        List<Integer> listd3=new ArrayList<>();
        listd3.add(a7-b7);
        listd3.add(a8-b8);
        listd3.add(a9-b9);
        List<List> listsd = new ArrayList<>();
        listsd.add(listd1);
        listsd.add(listd2);
        listsd.add(listd3);
        System.out.println("实现矩阵Listsb-Lists");
        for (int id = 0; id < listsd.size(); id++) {
            System.out.println(listsd.get(id));
        }
        List<Integer> liste1=new ArrayList<>();
        liste1.add((a1*b1)+(a2*b4)+(a3*b7));
        liste1.add((a1*b2)+(a2*b5)+(a3*b8));
        liste1.add((a1*b3)+(a2*b6)+(a3*b9));
        List<Integer> liste2=new ArrayList<>();
        liste2.add((a4*b1)+(a5*b4)+(a6*b7));
        liste2.add((a4*b2)+(a5*b5)+(a6*b8));
        liste2.add((a4*b3)+(a5*b6)+(a6*b9));
        List<Integer> liste3=new ArrayList<>();
        liste3.add((a7*b1)+(a8*b4)+(a9*b7));
        liste3.add((a7*b2)+(a8*b5)+(a9*b8));
        liste3.add((a7*b3)+(a8*b6)+(a9*b9));
        List<List> listse = new ArrayList<>();
        listse.add(liste1);
        listse.add(liste2);
        listse.add(liste3);
        System.out.println("实现矩阵Listsb*Lists");
        for (int ie = 0; ie < listse.size(); ie++) {
            System.out.println(listse.get(ie));
        }
    }
}

练习涉及到一些基础知识点

相关推荐
懒鸟一枚2 小时前
深入理解 Linux 内存、Swap 交换分区与分页机制的关系
java·linux·数据库
我命由我123454 小时前
执行 Gradle 指令报错,无法将“grep”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
考虑考虑4 小时前
Sentinel安装
java·后端·微服务
XUHUOJUN4 小时前
Windows 2025架构深度分析之Stretch Cluster 延迟工程现实
windows·microsoft·架构·azure local
love530love5 小时前
将 ChatCut MCP 插件从 Codex 桌面应用移植到 WorkBuddy —— 完整适配实录
ide·人工智能·windows·视频剪辑·ai agent
凤凰院凶涛QAQ6 小时前
《Java版数据结构 & 集合类剖析》栈与队列:“push/pop 是栈的灵魂,offer/poll 是队列的骨架——四组 API,两种人生”
java·开发语言·数据结构
works cart6 小时前
windows常用命令
windows
掘金_答案6 小时前
上线那天,一个 ConcurrentHashMap 差点送走我的 AI 客服——3 天排查 JVM 血泪史
java·后端·架构
猿与禅7 小时前
CosId 分布式 ID 生成器完全教程:从架构原理到生产落地
java·shardingsphere·雪花算法·分布式id·高性能·cosid·号段模式
MindUp7 小时前
企业网盘权限模型解析:多层级访问控制与审计能力选型指南
java·linux·运维