流星也为你落下


私信TA

用户名:dotcpp0796798

访问量:31

签 名:

我会意气风发

等  级
排  名 5938
经  验 1459
参赛次数 0
文章发表 12
年  龄 20
在职情况 学生
学  校 江西理工大学
专  业 软件工程

  自我简介:

解题思路:

        虽然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分

1 人评分

  评论区

  • «
  • »