复数类Complex的Java实现(数据结构 例 1-4)
2015-11-09 21:42
288 查看
/*实现一个复数类的加减乘除运算*/ import java.util.*; public class Complex { private double a,b;//复数的实部和虚部 //private final double delta=1e-20; public Complex(double a,double b){ this.a=a; this.b=b; } public void Change(double a,double b){ this.a=a; this.b=b; } public String toString(){ if(b>0.0){ if(a==0.0) return b+"*i"; else return a+"+"+b+"*i"; } else if(b<0.0){ if(a==0.0) return b+"*i"; else return a+""+b+"*i";//注意 } else return a+"";//要加"",这样就可以返回一个String类型的值了 } public Complex add(Complex Z){ double aa=this.a+Z.a; double bb=this.b+Z.b; return new Complex(aa,bb); } public Complex subtract(Complex Z){ double aa=this.a-Z.a; double bb=this.b-Z.b; return new Complex(aa,bb); } public Complex multiply(Complex Z){ double aa=this.a*Z.a-this.b*Z.b; double bb=this.b*Z.a+this.a*Z.b; return new Complex(aa,bb); } public Complex divide(Complex Z){ Z.Change(Z.a, -Z.b); Complex ZZ=this.multiply(Z); //System.out.println(ZZ.a+" "+ZZ.b); ZZ.a/=(Z.a*Z.a+Z.b*Z.b); ZZ.b/=(Z.a*Z.a+Z.b*Z.b); return ZZ; } public static void main(String args[]){ Scanner cin=new Scanner(System.in); Complex Z1,Z2,Z3; Z1=new Complex(0,0); Z2=new Complex(0,0); Z3=Z1.add(Z2); //java中double会保留一位小数,但如果有超过一位的小数,那输出全部小数,C默认固定保留六位小数 System.out.println(Z1+"\n"+Z2+"\n"+Z3); double a,b,c,d; while(cin.hasNext()){ a=cin.nextDouble(); b=cin.nextDouble(); Z1.Change(a, b); c=cin.nextDouble(); d=cin.nextDouble(); Z2.Change(c, d); Z3=Z1.add(Z2); System.out.println(Z3); Z3=Z1.subtract(Z2); System.out.println(Z3); Z3=Z1.multiply(Z2); System.out.println(Z3); Z3=Z1.divide(Z2); System.out.println(Z3); } } }
相关文章推荐
- 【数据结构与算法分析】2.1 斐波拉切数列算法实现
- 数据结构实验之二叉树一:树的同构
- 数据结构 文学研究助手(AC自动机)
- 数据结构基础5.4:堆(HEAP)的基本操作(插入与删除)
- hdu5542 CCPC中国赛 dp + 树状数组
- 【ShancoLove】带你看数据结构——第十二课:图
- 【ShancoLove】带你看数据结构——第十一课:哈夫曼树
- java数据结构
- 数据结构之最短路径Dijkdtra算法
- 网络常用的数据结构
- 第八周--数据结构--计数的模式匹配
- 第八周 数据结构之自建算法库——链串
- 第八周 数据结构实践项目——串 【项目2 - 建立链串的算法库】
- 项目2--用二叉树求解代数表达式
- 第11周SHH数据结构-【 项目1 层次遍历算法 】
- 第八周 数据结构实践项目——串 【项目1 - 建立顺序串的算法库
- *第十一周*数据结构实践项目一【二叉树的层次遍历算法】
- 项目1.4--哈弗曼编码的算法验证
- 项目1.3--中序线索化二叉树的算法验证
- 项目1.2-- 二叉树构造算法的验证