补全代码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"); 

       } 

} 

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

  • 加减,只要实数部分加减,虚数部分加减
  • 乘法,公式 (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支持下!!!