程序运行截图:
代码:
复数类:
/**
* 定义复数类
*
*
*/
public class ComplexNumbe {
double realNumber, imaginaryNumbe;// 定义实数,虚数
public ComplexNumbe(double realNumber, double imaginaryNumb) {
this.realNumber = realNumber;
this.imaginaryNumbe = imaginaryNumb;
}
public ComplexNumbe(double realNumber) {
this(realNumber, 0);
}
public ComplexNumbe() {
this(0, 0);
}
public String toString() {
if (realNumber == 0 && imaginaryNumbe == 0) {
return "0";
} else if (imaginaryNumbe == 0) {
return realNumber + "";
} else if (realNumber == 0) {
return "" + imaginaryNumbe + "i";
} else {
return "(" + realNumber + " + " + imaginaryNumbe + "i" + ")";
}
}
public ComplexNumbe(ComplexNumbe complexNumbe) {
this(complexNumbe.realNumber, complexNumbe.imaginaryNumbe);
}
}
测试类:
public class Test {
public static final void main(String[] args) {
System.out.println("该程序接受用户输入的一组复数并答应出来");
System.out.println("输入复数的个数:");
Scanner scanner = new Scanner(System.in);
int num = Integer.valueOf(scanner.nextLine());
int i = 0;
List<ComplexNumbe> listC = new ArrayList<ComplexNumbe>();
while (num != 0) {
ComplexNumbe cNum = null;
System.out.print("输入第 " + ++i + " 个复数");
System.out.print("输入实数:");
scanner = new Scanner(System.in);
int real = Integer.valueOf(scanner.nextLine());
System.out.print("输入虚数:");
scanner = new Scanner(System.in);
int im = Integer.valueOf(scanner.nextLine());
if (real == 0 && im == 0) {
cNum = new ComplexNumbe();
} else if (im == 0) {
cNum = new ComplexNumbe(real);
} else {
cNum = new ComplexNumbe(real, im);
}
listC.add(cNum);
--num;
}
for (ComplexNumbe cNumbe : listC) {
System.out.println("复数:" + cNumbe.toString());
}
}
}