解题思路:
虽然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 人评分
剪刀石头布 (C语言代码)浏览:1792 |
WU-printf基础练习2 (C++代码)浏览:2061 |
C语言程序设计教程(第三版)课后习题9.1 (C语言代码)浏览:710 |
简单的a+b (C语言代码)浏览:529 |
用筛法求之N内的素数。 (C语言代码)浏览:595 |
Quadratic Equation (C语言代码)浏览:1034 |
淘淘的名单 (C语言代码)浏览:1309 |
判定字符位置 (C语言代码)浏览:849 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:532 |
班级人数 (C语言代码)浏览:980 |