解题思路:

        虽然Java不支持运算符重载,但你可以通过定义方法来实现类似的功能。例如,如果你有一个表示复数的类,你可以定义一个方法来执行复数的加法,而不是重载“+”运算符。


注意事项:  在输出最后结果的时候,要注意虚数部分:分小于0,等于0的情况;同时实数部分要考虑等于0的情况,此时0不需要输出;其它一般情况就正常写



参考代码:

import java.util.Scanner;


public class Main {

public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);


        ComplexNumber complexNumber = new ComplexNumber(scanner.nextInt(), scanner.nextInt());

        char split = scanner.next().charAt(0);

        ComplexNumber complexNumber1 = new ComplexNumber(scanner.nextInt(), scanner.nextInt());


        switch (split) {

            case '+' -> {

                ComplexNumber added = complexNumber.add(complexNumber1);

                added.display();

            }

            case '-' -> {

                ComplexNumber sub = complexNumber.sub(complexNumber1);

                sub.display();

            }

        }


    }

}


class ComplexNumber{

    private int real;

    private int imag;


    public ComplexNumber(int real, int imag) {

        this.real = real;

        this.imag = imag;

    }


    //加法

    public ComplexNumber add(ComplexNumber other) {

        return new ComplexNumber((this.real + other.real),(this.imag + other.imag));

    }

    //减法

    public ComplexNumber sub(ComplexNumber other) {

        return new ComplexNumber((this.real - other.real),(this.imag - other.imag));

    }


    //展示

    public void display() {

        if (imag < 0) {

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

        }

        else if (imag == 0){

            System.out.println(real);

        }

        else if (real == 0) {

            System.out.println(imag + "i");

        }

        else {

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

        }

    }


}



点赞(0)
 

0.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论