Java题目Matrix_Add

本文介绍了一个简单的Java程序,用于实现两个3x3矩阵的相加操作。通过定义一个名为matrixAdd的方法来完成矩阵相加的过程,并展示了如何打印相加后的矩阵。

Java 现有矩阵A和B,大小3*3,编写函数,两个矩阵相加,原型double[][],Add Mathix[][](doubleA[][],doubleB[][])

题目写的函数不是很清晰,但是不碍事,题目就是3x3矩阵相加,放到java代码里就是两个二维数组对应相加。(其实做到这里之前我又去看了看矩阵相加是怎么加,离散都去哪了???)我一开始以为是要对角线法则,相乘相加得到矩阵值。。。

不BB了,代码:

public static void main(String[] args) {
        double[][] a ={{1,2,3},{4,5,6},{7,8,9}};
        double[][] b ={{1,2,3},{4,5,6},{7,8,9}};
        double[][] sum = matrixAdd(a,b);
        for (int i = 0; i < sum.length; i++) {
            for (int j = 0; j < sum[i].length; j++) {
                System.out.print(sum[i][j]+"\t");
            }
            System.out.println();
        }
    }

    private static double[][] matrixAdd(double[][] a, double[][] b) {
        double[][]c = new double[a.length][a[0].length];
        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < a[i].length; j++) {
                c[i][j] = a[i][j]+b[i][j];
            }
        }
        return c;
    }

代码远没有题目名字酷o(╥﹏╥)o。

根据题目描述的要求,我们需要完成以下功能: 1. 在`StarServiceImpl`类中,随机生成一个9×10的泡泡糖矩阵。 2. 在`MainForm`类中,当点击"排序"按钮时,能够对每一行泡泡糖按其类型(value)进行升序排序。 3. 同样在`MainForm`类内,实现交换任意两个泡泡糖的功能。 下面将给出伪代码示例以指导Java编码实践。由于具体界面设计依赖于使用的图形库或框架(例如Swing, JavaFX等),这里只提供业务逻辑部分的核心代码段。 ### StarServiceImpl.java - 泡泡糖矩阵初始化 ```java import java.util.Random; public class StarServiceImpl { private Gum[][] gumMatrix = new Gum[9][10]; // 定义泡泡糖矩阵 public void generateGumMatrix() { Random random = new Random(); for (int i = 0; i < gumMatrix.length; i++) { for (int j = 0; j < gumMatrix[i].length; j++) { int value = random.nextInt(5); // 假设泡泡糖有五种不同的类型 gumMatrix[i][j] = new Gum(value); } } } static class Gum { // 简化的泡泡糖类定义 int value; public Gum(int v) { this.value = v; } @Override public String toString() { return "Type: " + value; } } } ``` ### MainForm.java - 排序与交换操作 ```java import javax.swing.JButton; import javax.swing.JFrame; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class MainForm extends JFrame implements ActionListener { private StarServiceImpl service = new StarServiceImpl(); public MainForm() { JButton sortButton = new JButton("Sort"); sortButton.addActionListener(this); add(sortButton); service.generateGumMatrix(); // 初始化泡泡糖矩阵 // 这里省略了添加其他组件到窗口的过程 } @Override public void actionPerformed(ActionEvent e) { if ("Sort".equals(e.getActionCommand())) { sortRows(service.gumMatrix); // 调用排序方法 } } private void sortRows(Gum[][] matrix) { for (int i = 0; i < matrix.length; i++) { Arrays.sort(matrix[i], Comparator.comparingInt(g -> g.value)); } } public static void main(String[] args) { MainForm form = new MainForm(); form.setSize(400, 300); form.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); form.setVisible(true); } } ``` 注意:以上代码仅作为示例,并未包含完整的GUI实现细节或者错误处理机制,请根据实际项目需求调整和完善。此外,“交换两个泡泡糖”的功能并未在此示例中体现,你可以通过类似的方法,在`actionPerformed`方法或其他合适的地方增加相关逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值