JAVA——声明并测试一个复数类,其方法包括toString()及复数的加、减、乘运算

复数的加减乘运算就要考虑他的实部以及虚部,要分开运算。加法就很简单,就直接实部加实部,虚部加虚部。减法主要是要考虑输出的时候的实部的正负号问题。然后乘法要打开括号来计算,最后就是可以分别得到实部与虚部的数值。

  1. 建立一个名为“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方法输出。输出的时候要根据实部的正负来分类。

  2. 主函数直接定义变量调用即可。
    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());
        }
    
    }
  3. 实验结果为:

     

     

     

posted @ 2020-10-20 14:27  ....陈陈陈陈  阅读(1726)  评论(0)    收藏  举报