早教吧 育儿知识 作业答案 考试题库 百科 知识分享

高级复数类JAVA程序验内容及要求:定义一个高级复数类(AdvComplex),使他能继承已有的类,并覆盖和重载其相关的方法,并进行运算。

题目详情
高级复数类 JAVA程序
验内容及要求:
定义一个高级复数类(AdvComplex),使他能继承已有的类,并覆盖和重载其相关的方法,并进行运算。
▼优质解答
答案和解析
实验要求不清楚,已有的类是指?前两天刚写一个复数类,实现了加减乘数运算,和equals(Object obj)方法比较两复数是否相等。代码如下:有什么疑问或需要怎么改可以追问或hi我
public class MyComplex {
private double realpart; // 实部
private double imaginpart; // 虚部

public MyComplex ( double realpart, double imaginpart) {//有参构造
super();
setimaginpart(imaginpart);
setrealpart(realpart);
}
public MyComplex () {//无参
super();
realpart=0;
imaginpart=0;
}
public double getrealpart() {
return realpart;
}
public void setrealpart(double real) {
realpart = real;
}
public double getimaginpart() {
return imaginpart;
}
public void setimaginpart(double imag) {
imaginpart= imag;
}
public static MyComplex MyComplexAdd( MyComplex a, MyComplex b){//复数加法 a+b
double n=a.imaginpart+b.imaginpart;
double m=a.realpart+b.realpart;
MyComplex result=new MyComplex (m,n);
return result;
}
public static MyComplex MyComplexSub( MyComplex a, MyComplex b){//复数减法 a-b
double m=a.realpart-b.realpart;
double n=a.imaginpart-b.imaginpart;
MyComplex result=new MyComplex (m,n);
return result;
}
public static MyComplex MyCompleMul( MyComplex a, MyComplex b){//复数 乘法 a*b
double m=(a.realpart*b.realpart)-(a.imaginpart*b.imaginpart);
double n=(a.realpart*b.imaginpart)+(a.imaginpart*b.imaginpart);
MyComplex result=new MyComplex (m,n);
return result;
}
public static MyComplex MyCompleDiv( MyComplex a, MyComplex b){//复数除法 a/b
double c=b.realpart*b.realpart+b.imaginpart*b.imaginpart;

double n=(a.realpart*b.realpart)/c;
double m=a.imaginpart*(-1)*(b.imaginpart)/c;

MyComplex result=new MyComplex (m,n);
return result;
}

public static void playMyComplex ( MyComplex c){//输出复数
System.out.println(c.realpart+"+"+c.imaginpart+"i");
}
@Override
public boolean equals(Object o){//重写Object 的equals(Object obj)判断两个复数是否相等
if(o==null){
return false;
}else if(o instanceof MyComplex){
MyComplex myComplex=(MyComplex)o;
if(myComplex.realpart==this.realpart&&myComplex.imaginpart==this.imaginpart){
return true;
}else
return false;
}
return false;
}
public static void main(String []args){
MyComplex a=new MyComplex(12,8);
MyComplex b=new MyComplex(3,4);
System.out.print("复数a: ");
MyComplex.playMyComplex(a);
System.out.print("复数b: ");
MyComplex.playMyComplex(b);
System.out.print("a+b:");
MyComplex result=MyComplex.MyComplexAdd(a, b);
MyComplex.playMyComplex(result);
System.out.print("a-b:");
result=MyComplex.MyComplexSub(a, b);
MyComplex.playMyComplex(result);
System.out.print("a*b:");
result=MyComplex.MyCompleMul(a, b);
MyComplex.playMyComplex(result);
System.out.print("a/b:");
result=MyComplex.MyCompleDiv(a, b);
MyComplex.playMyComplex(result);

a=new MyComplex(4,5);
b=new MyComplex(4,5);
System.out.print("复数a: ");
MyComplex.playMyComplex(a);
System.out.print("复数b: ");
MyComplex.playMyComplex(b);
System.out.println("a==b:"+(a==b));
System.out.println("a.equals(b):"+a.equals(b));


}

}
运行结果:
复数a: 12.0+8.0i
复数b: 3.0+4.0i
a+b:15.0+12.0i
a-b:9.0+4.0i
a*b:4.0+80.0i
a/b:-1.28+1.44i
复数a: 4.0+5.0i
复数b: 4.0+5.0i
a==b:false
a.equals(b):true
看了 高级复数类JAVA程序验内容...的网友还看了以下:

在4*4的方格中,将1至16无重复的填入方格中,使横向和、竖向和、对角线和、中间四数之和以及角上四  2020-04-07 …

如图所示,弹簧测力计A和B及滑轮组均处于静止状态,F=10N,若不考虑测力计重、滑轮重及摩擦,弹簧  2020-06-16 …

(2013•广州模拟)四只同样的瓶子内分别装有一定数量的油,每瓶和其他各瓶分别合称一次,记录千克数  2020-06-30 …

4只同样的瓶子分别装有一定数量的油,每瓶和其它各瓶分别合称一次,所得重量的千克数如下:8,9,10  2020-07-11 …

已知两边及其夹角,用尺规作图怎么画还有已知两角及其夹边已知两边及其夹角和已知两角及其夹边的三角形  2020-08-02 …

已知一块圆柱形球墨铸铁直径为49mm高度为47mm求重量及重量公式以及单位是什么如何换算  2020-11-20 …

打黑除恶依法和谐在重庆市今年打黑除恶风暴中,被批准逮捕的涉黑头目——谢才萍及其黑社会团伙成员22人,  2020-11-22 …

阅读下面的文字,完成后面的问题。近来时见“又一波雾霾汹涌来袭”“京津冀持续受雾霾困扰”,以及“中央气  2020-11-28 …

弹簧秤A和B及滑轮组均处于静止状态,F=10N,若不考虑秤重,滑轮重及摩擦,弹簧秤A和B的示数分别为  2020-12-01 …

四只同样的瓶子内分别装着一定数量的油,每瓶和其他各瓶分别和称一次,记录千克数如下:8,9,10,11  2020-12-22 …