import com.sun.tools.javac.Main;
/**
* @author: 袁
* @date: 2022-09-16 0:31
* @desc: 定义一个复数(z=x+iy)类Complex
*/
class Complex{
public int x;
public int y;
public Complex(){
this.x = 0;
this.y = 0;
}
public Complex(int i ,int j){
this.x = i;
this.y= j;
}
public void showComp(){
System.out.println(x + "+" + y + "i");
}
}
public class ComplexTest {
/**
* @desc:两个复数相加
* @param c1 一个复数
* @param c2 另外一个复数
* @return 两个复数相加后的复数
*/
// 加static的原因:作为类方法,class文件一经编译,就加载到内存中,而且在main函数中调用,类方法不用创建对象可以直接调用:类名+方法名(参数)
// 也可以不加static:把他们全部作为Complex中的方法,然后把另一个对象作为参数传递进去,再进行相应的加减乘除操作,然后返回一个新的对象值。
public static Complex addComp(Complex c1,Complex c2){
Complex c3 = new Complex();
c3.x = c1.x + c2.x;
c3.y = c1.y + c2.y;
return c3;
}
public static Complex subComp(Complex c1,Complex c2){
Complex c3 = new Complex();
c3.x = c1.x - c2.x;
c3.y = c1.y - c2.y;
return c3;
}
public static Complex multiComp(Complex c1,Complex c2){
Complex c3 = new Complex();
c3.x = (c1.x * c2.x) - (c1.y * c2.y);
c3.y = (c1.x * c2.y) + (c1.y * c2.x);
return c3;
}
public static boolean equalComp(Complex c1,Complex c2){
if(c1.x == c1.x && c1.y == c2.y)
return true;
else
return false;
}
public static void main(String[] args) {
Complex c1 = new Complex(1,1);
Complex c2 = new Complex(2,3);
Complex c3 = new Complex();
c1.showComp();
c2.showComp();
c3 = ComplexTest.addComp(c1,c2);
System.out.println(c3.x + " " + c3.y);
c3 = ComplexTest.subComp(c1,c2);
System.out.println(c3.x + " " + c3.y);
c3 = ComplexTest.multiComp(c1,c2);
System.out.println(c3.x + " " + c3.y);
System.out.println(ComplexTest.equalComp(c1,c2));
}
}
定义复数类(Complex),并实现加减乘除操作
于 2022-09-29 11:14:38 首次发布