题目
用java定义一个复数类Complex,能够创建复数对象,并且实现复数之间的加、减运算
复数具有实部和虚部两部分,如2+5i就是一个复数,其中2为实部,5i为虚部;两复数相加时,实部与实部相加,虚部与虚部相加.两复数相减时,实部与实部相减,虚部与虚部相减.
如(2+5i)+(3-4i)=5+1i
(2+5i)-(3-4i)=-1+9i
现在要求定义一个复数类Complex,能够创建复数对象,并且实现复数之间的加、减运算,在main()函数中测试该类.
我需要全部代码,急用,
复数具有实部和虚部两部分,如2+5i就是一个复数,其中2为实部,5i为虚部;两复数相加时,实部与实部相加,虚部与虚部相加.两复数相减时,实部与实部相减,虚部与虚部相减.
如(2+5i)+(3-4i)=5+1i
(2+5i)-(3-4i)=-1+9i
现在要求定义一个复数类Complex,能够创建复数对象,并且实现复数之间的加、减运算,在main()函数中测试该类.
我需要全部代码,急用,
提问时间:2020-05-08
答案
public class ComplexDemo {
// main方法
public static void main(String[] a) {
Complex b = new Complex(2,5);
Complex c = new Complex(3,-4);
System.out.println(b + "+" + c + "=" + b.add(c));
System.out.println(b + "-" + c + "=" + b.minus(c));
System.out.println(b + "*" + c + "=" + b.multiply(c));
System.out.println(b + "/" + c + "=" + b.divide(c));
}
}
// Complex类
class Complex {
private double m;// 实部
private double n;// 虚部
public Complex(double m,double n) {
this.m = m;
this.n = n;
}
// add
public Complex add(Complex c) {
return new Complex(m + c.m,n + c.n);
}
// minus
public Complex minus(Complex c) {
return new Complex(m - c.m,n - c.n);
}
// multiply
public Complex multiply(Complex c) {
return new Complex(m * c.m - n * c.n,m * c.n + n * c.m);
}
// divide
public Complex divide(Complex c) {
double d = Math.sqrt(c.m * c.m) + Math.sqrt(c.n * c.n);
return new Complex((m * c.m + n * c.n) / d,Math.round((m * c.n - n * c.m) / d));
}
public String toString() {
String rtr_str = "";
if (n > 0)
rtr_str = "(" + m + "+" + n + "i" + ")";
if (n == 0)
rtr_str = "(" + m + ")";
if (n < 0)
rtr_str = "(" + m + n + "i" + ")";
return rtr_str;
}
}
// main方法
public static void main(String[] a) {
Complex b = new Complex(2,5);
Complex c = new Complex(3,-4);
System.out.println(b + "+" + c + "=" + b.add(c));
System.out.println(b + "-" + c + "=" + b.minus(c));
System.out.println(b + "*" + c + "=" + b.multiply(c));
System.out.println(b + "/" + c + "=" + b.divide(c));
}
}
// Complex类
class Complex {
private double m;// 实部
private double n;// 虚部
public Complex(double m,double n) {
this.m = m;
this.n = n;
}
// add
public Complex add(Complex c) {
return new Complex(m + c.m,n + c.n);
}
// minus
public Complex minus(Complex c) {
return new Complex(m - c.m,n - c.n);
}
// multiply
public Complex multiply(Complex c) {
return new Complex(m * c.m - n * c.n,m * c.n + n * c.m);
}
// divide
public Complex divide(Complex c) {
double d = Math.sqrt(c.m * c.m) + Math.sqrt(c.n * c.n);
return new Complex((m * c.m + n * c.n) / d,Math.round((m * c.n - n * c.m) / d));
}
public String toString() {
String rtr_str = "";
if (n > 0)
rtr_str = "(" + m + "+" + n + "i" + ")";
if (n == 0)
rtr_str = "(" + m + ")";
if (n < 0)
rtr_str = "(" + m + n + "i" + ")";
return rtr_str;
}
}
举一反三
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
1,人们染上烟瘾,最终因吸烟使自己丧命.
最新试题
- 1有无相生难易相成长短有形高下相倾声音相和前后相随是什么意思
- 2已知2X-3Y+4Z=2,4X+3Y+2Z=4,则X+Z=?
- 3已知等腰三角形的一个角为65°,那么这个等腰三角形的顶角等于( )度
- 4How many classes do you have in the morning?
- 5初一的英语教辅书哪个好 我要那种讲解的 不是练习题
- 6一个长方形养鸡场的一边靠墙,墙长14cm,其他三边用竹篱笆围成.现有竹篱笆35米,小王打算靠墙建一个鸡场,长比宽多5米.小赵打算靠墙建一个鸡场,长比宽多2米.你认为谁的设计合理?它的面积是多少?如果长
- 7赞美野草顽强生命力的古诗?急
- 8空间三条射线PA,PB,PC满足∠APC=∠APB=60°,∠ABPC=90°.则二面角B-PA-C为( )
- 9Be _____(safely) when you put out the fire
- 10能发生银镜反应的条件是什么?
热门考点
- 1已知二次函数的定义域为R,为什么△要小于0?
- 2轻可以可以组什么词
- 3“凡卡对爷爷说,我的生活没有指望了,连狗都不如”中的指望是什么意思?
- 4课文 北京的春节 老舍
- 5甲组的4名工人3月份完成的总工作量比此月人均定额的4被多20件,已组的5名工人3月份完成的总工作量比此月人均定额的6被少20件.
- 6某水泥厂化验室,为了测定某矿山石灰石中碳酸钙的质量分数,取石灰石样品与足量稀盐酸在烧杯中反应(假设石灰石样品中杂质不与稀盐酸反应也不溶于水.)有关实验数据如下表:反应
- 7显微镜为什么由两个镜片组成
- 8在三角形中abc三边之比a比b比c等于2比3比 根号19,则三角形中abc最大角的大小为多少
- 9A group of tourists reached a remote small village, at the west end of which____an old temple.
- 10做自由落体运动的物体在任何两个相邻的相等时间(如t=1s)内,位移的增量为A1m B5m C10m D无法确定