initial- - - 2023-02-25 16:57 采纳率: 86.7%
浏览 77
已结题

补全代码java复数运算

参考上题分数程序,并结合以下程序程序代码,实现复数的加法、减法、乘法运算,并进行测试。

输入:

1 2

3 4

输出:

4+6i

-2-2i

-5+10i

import java.util.Scanner; 

public class Main { 

       public static void main(String[] args) { 

              Scanner reader=new Scanner(System.in);//定义读取数据对象reader 

              int r1,v1,r2,v2; 

              r1=reader.nextInt(); //读取第一个复数的实部 

              v1=reader.nextInt(); //读取第一个复数的虚部 

  

       } 

} 

class Complex{ 

       int real; 

       int virtual; 

       Complex(){} 

       Complex(int r,int v){ 

              rear=r; 

              virtual=v; 

       } 

       Complex add(Complex f2){ 

  

       } 

       void print(){ 

              //以下输出需要修改成符合题目要求的形式 

              System.out.println(real+"+"+virtual+"i"); 

       } 

} 

  • 写回答

2条回答 默认 最新

  • Huazie 全栈领域优质创作者 2023-02-25 17:07
    关注

    这题的核心就是复数的运算:

    • 加减,只要实数部分加减,虚数部分加减
    • 乘法,公式 (a+bi)(c+di)=(ac-bd)+(bc+ad)i

    代码参考如下:

    import java.util.Scanner;
    
    /**
     * @author huazie
     * @version 2.0.0
     * @since 2.0.0
     */
    public class Main {
    
        public static void main(String[] args) {
    
            Scanner reader = new Scanner(System.in);//定义读取数据对象reader
    
            int r1, v1, r2, v2;
    
            r1 = reader.nextInt(); //读取第一个复数的实部
            v1 = reader.nextInt(); //读取第一个复数的虚部
            r2 = reader.nextInt();
            v2 = reader.nextInt();
    
            Complex complex1 = new Complex(r1, v1);
            Complex complex2 = new Complex(r2, v2);
    
            complex1.add(complex2).print();
            complex1.minus(complex2).print();
            complex1.multiply(complex2).print();
        }
    
    }
    
    class Complex {
    
        int real;
    
        int virtual;
    
        Complex() {
        }
    
        Complex(int r, int v) {
            real = r;
            virtual = v;
        }
    
        Complex add(Complex f2) {
            return new Complex(real + f2.real, virtual + f2.virtual);
        }
    
        Complex minus(Complex f2) {
            return new Complex(real - f2.real, virtual - f2.virtual);
        }
    
        Complex multiply(Complex f2) {
            return new Complex(real * f2.real - virtual * f2.virtual, virtual * f2.real + real * f2.virtual);
        }
    
        void print() {
            //以下输出需要修改成符合题目要求的形式
            if (virtual > 0) {
                System.out.println(real + "+" + virtual + "i");
            } else {
                System.out.println(real + "" + virtual + "i");
            }
        }
    }
    

    如有帮助,欢迎点赞+采纳哈!

    在这里插入图片描述

    本人的开源项目,欢迎star支持下!!!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月6日
  • 已采纳回答 2月26日
  • 创建了问题 2月25日