java编写一个应用程序,用户可输入任意类型的2个数,输出2数之和(类型包含整数、浮点数、复数)
时间: 2024-10-11 13:03:42 浏览: 163
java编写一个类,该类可以进行加、减、乘、除四则运算,并且输出运算结果
在Java中,我们可以创建一个程序,利用泛型(Generics)来处理不同类型的数据,包括整数(Integer)、浮点数(Double)和复数(可以自定义一个ComplexNumber类)。下面是一个简单的示例:
```java
import java.util.Scanner;
class ComplexNumber {
double real;
double imag;
// 构造函数和相关操作省略...
}
public class NumberAdder<T extends Number> {
public T add(T num1, T num2) {
return (T)(num1.doubleValue() + num2.doubleValue());
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一个数字(支持整数和浮点数):");
Number num1 = scanner.nextDouble();
System.out.println("请输入第二个数字(同上):");
Number num2 = scanner.nextDouble();
NumberAdder<ComplexNumber> complexAdder = new NumberAdder<>();
if (num1 instanceof ComplexNumber && num2 instanceof ComplexNumber) {
ComplexNumber cNum1 = (ComplexNumber) num1;
ComplexNumber cNum2 = (ComplexNumber) num2;
ComplexNumber sum = complexAdder.add(cNum1, cNum2);
System.out.println("复数相加结果: " + sum.real + "+" + sum.imag + "i");
} else {
Number sum = complexAdder.add(num1, num2);
System.out.println("两数之和: " + sum);
}
scanner.close();
}
}
```
在这个例子中,`NumberAdder`类使用泛型`T extends Number`接收任何实现了`Number`接口的对象作为输入。对于复数,我们假设用户输入的是`ComplexNumber`实例。如果用户输入的不是复数,则直接相加。
阅读全文