复数是一个类,那么运算应该是它的方法属性。一个类至少应该有自己的构造。你想得太复杂没有体会到面向对象。
下面是我改的,改动很大:
import java.util.Scanner;
public class Complex {
private int realpart;// 实部
private int imaginpart;// 虚部
public Complex(int realpart, int imaginpart) {//有参构造
super();
setimaginpart(imaginpart);
setrealpart(realpart);
}
public Complex() {//无参
super();
realpart=0;
imaginpart=0;
}
public int getrealpart() {
return realpart;
}
public void setrealpart(int real) {
realpart = real;
}
public int getimaginpart() {
return imaginpart;
}
public void setimaginpart(int imag) {
imaginpart= imag;
}
public static Complex ComplexAdd(Complex a,Complex b){
int n=a.imaginpart+b.imaginpart;
int m=a.realpart+b.realpart;
Complex result=new Complex(m,n);
return result;
}
/*
*
* 省去其它其他运算
*
*/
public static void playComplex(Complex c){
System.out.println(c.realpart+"+"+c.imaginpart+"i");
}
public static void main(String []args){
System.out.println("复数加法运算演示:");
Complex a=new Complex(3,4);
Complex b=new Complex(4,5);
System.out.println("第一个复数为:");
a.playComplex(a);
System.out.println("第二个复数为:");
b.playComplex(b);
System.out.println("两个复数为相加结果为:");
Complex.playComplex(Complex.ComplexAdd(a, b));
Scanner scanner=new Scanner(System.in);
System.out.println("请分别输入第一个复数的实部和虚部:");
int m=scanner.nextInt();
int n=scanner.nextInt();
a.setrealpart(m);
a.setimaginpart(n);
System.out.println("请分别输入第二个复数的实部和虚部:");
m=scanner.nextInt();
n=scanner.nextInt();
b.setrealpart(m);
b.setimaginpart(n);
System.out.println("你所输入的两个复数为:");
a.playComplex(a);
b.playComplex(b);
System.out.println("两个复数为相加结果为:");
Complex.playComplex(Complex.ComplexAdd(a, b));
}
}
运行结果:
复数加法运算演示:
第一个复数为:
3+4i
第二个复数为:
4+5i
两个复数为相加结果为:
7+9i
请分别输入第一个复数的实部和虚部:
4 5
请分别输入第二个复数的实部和虚部:
6 7
你所输入的两个复数为:
4+5i
6+7i
两个复数为相加结果为:
10+12i
取消
评论