JAVA——声明并测试一个复数类,其方法包括toString()及复数的加、减、乘运算
复数的加减乘运算就要考虑他的实部以及虚部,要分开运算。加法就很简单,就直接实部加实部,虚部加虚部。减法主要是要考虑输出的时候的实部的正负号问题。然后乘法要打开括号来计算,最后就是可以分别得到实部与虚部的数值。
- 建立一个名为“fushu”的类,我们就是要在这个类里面完成复数的加减乘运算。
public class fushu { private float a; private float b; private float c; private float d; public fushu(float a,float b) { this.a=a; this.b=b; } public void add(fushu p) { c=this.a+p.a; d=this.b+p.b; } public void decrease(fushu p) { c=this.a-p.a; d=this.b-p.b; } public void mutiply(fushu p) { c=this.a*p.b+this.b*p.a; d=this.a*p.a-this.b*p.b; } public String toString() { if(d>=0) return c+"i"+"+"+d; else return c+"i"+d; } }
这里主要要注意,每一个函数引用之后,如果没有重新定义新的变量,而还是写成:this.a+=a;之类的话,a的值就改变了,后面的函数用到的a就是该表后的值,所以要重新定义两个新的变量。然后利用toString方法输出。输出的时候要根据实部的正负来分类。
- 主函数直接定义变量调用即可。
public class fushumain { public static void main(String[] args) { // TODO Auto-generated method stub fushu c1=new fushu(1,3); fushu c2=new fushu(2,2); c1.add(c2); System.out.println(c1.toString()); c1.decrease(c2); System.out.println(c1.toString()); c1.mutiply(c2); System.out.println(c1.toString()); } }
- 实验结果为:


浙公网安备 33010602011771号