Java编写复数类,实现复数的相加和相减

代码如下:

//编写复数类,实现复数相加和相减

public class ComplexNumber {

	private double a;//实部
	private double b;//虚部
	
	public ComplexNumber(double a, double b) {
		
		this.a = a;
		this.b = b;
	}
	
	public ComplexNumber add(ComplexNumber cn) {
		
		this.a += cn.a;
		this.b += cn.b;
		
		return this;//this代表调用该方法的对象
		            //将两个复数相加的结果保存在被加的复数对象中
	}
	
	public ComplexNumber sub(ComplexNumber cn) {
		
		this.a -= cn.a;
		this.b -= cn.b;
		
		return this;
	}
	
	public static void main(String[] args) {
		
		ComplexNumber cn1 = new ComplexNumber(1, 2);
		ComplexNumber cn2 = new ComplexNumber(3, 4);
		
		System.out.println("未进行任何操作时,复数cn1为:" + cn1.a + "+" + cn1.b + "i");
		System.out.println("未进行任何操作时,复数cn2为:" + cn2.a + "+" + cn2.b + "i");
		
		cn1.add(cn2);
		
		System.out.println("执行复数相加操作之后,复数cn1为:" + cn1.a + "+" + cn1.b + "i");
		System.out.println("执行复数相加操作之后,复数cn2为:" + cn2.a + "+" + cn2.b + "i");
		
		cn1.sub(cn2);
		
		System.out.println("执行复数相减操作之后,复数cn1为:" + cn1.a + "+" + cn1.b + "i");
		System.out.println("执行复数相减操作之后,复数cn2为:" + cn2.a + "+" + cn2.b + "i");
	}
}


运行结果:

  • 2
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
好的,以下是定义的Vector矢量类,并对运算符进行重载,实现矢量的相加相减的示例代码: ```python class Vector: def __init__(self, x, y): self.x = x self.y = y def __add__(self, other): if isinstance(other, Vector): return Vector(self.x + other.x, self.y + other.y) else: raise TypeError("Unsupported operand type for +") def __sub__(self, other): if isinstance(other, Vector): return Vector(self.x - other.x, self.y - other.y) else: raise TypeError("Unsupported operand type for -") def __str__(self): return f"({self.x}, {self.y})" # 创建两个Vector对象 v1 = Vector(1, 2) v2 = Vector(3, 4) # 执行矢量相加相减操作 v3 = v1 + v2 v4 = v1 - v2 # 输出结果 print(v3) # 输出 (4, 6) print(v4) # 输出 (-2, -2) ``` 在上述代码中,我们定义一个Vector矢量类,其中包含了x和y两个属性。我们使用`__add__`方法重载了`+`运算符,使得两个Vector对象可以相加。同样,我们使用`__sub__`方法重载了`-`运算符,使得两个Vector对象可以相减。当进行矢量相加相减操作时,会返回一个新的Vector对象。我们还使用`__str__`方法定义了对Vector对象的字符串表示,以方便输出结果。 在示例中,我们创建了两个Vector对象v1和v2,并执行了矢量相加相减操作,将结果分别赋值给v3和v4。最后,我们输出了v3和v4的结果。 输出结果为: ``` (4, 6) (-2, -2) ``` 注意,我们在重载运算符时使用了`isinstance`函数来检查被操作数的类型,确保只有两个Vector对象可以进行相加相减操作。如果被操作数的类型不是Vector对象,则抛出`TypeError`异常。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值