📄 complex.java
字号:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package testcomplex;
/**
*
* @author 池光
*/
public class Complex extends Number implements Comparable{
private double real = 1.0;
private double image = 1.0;
public Complex(){
this(1.0,1.0);
}
public Complex(double real,double image){
this.real = real;
this.image = image;
}
public double getReal(){
return real;
}
public double getImage(){
return image;
}
public Complex add(Complex aComplex){
double r = real + aComplex.getReal();
double i = image + aComplex.getImage();
return new Complex(r,i);
}
public Complex sub(Complex aComplex){
double r = real - aComplex.getReal();
double i = image - aComplex.getImage();
return new Complex(r,i);
}
public Complex multiply(Complex aComplex){
double r = real * aComplex.getReal() - image * aComplex.getImage();
double i = real * aComplex.getImage() - image * aComplex.getReal();
return new Complex(r,i);
}
public Complex divide(Complex aComplex){
double t = Math.pow(aComplex.getReal(),2) + Math.pow(aComplex.getImage(),2);
double r = (real * aComplex.getReal() + image * aComplex.getImage()) / t;
double i = (image * aComplex.getReal() - real * aComplex.getImage()) / t;
return new Complex(r,i);
}
public String toString(){
if(real >=0 && image >= 0)
return real + "+i" + image;
else if(real >= 0 && image <= 0)
return real + "-i" + Math.abs(image);
else if(real <= 0 && image >= 0)
return "-" + Math.abs(real) + "+i" + image;
else
return "-" + Math.abs(real) + "-i" + Math.abs(image);
}
public int hashCode(){
return new Double(this.doubleValue()).hashCode();
}
public int intValue(){
return (int)doubleValue();
}
public float floatValue(){
return (float)doubleValue();
}
public double doubleValue(){
return Math.sqrt(Math.pow(real,2) + Math.pow(image,2));
}
public long longValue(){
return (long)doubleValue();
}
public int compareTo(Object o){
double t = Math.sqrt(Math.pow(real,2) + Math.pow(image,2)) - ((Complex)o).doubleValue();
if(t > 0)
return 1;
else if(t < 0)
return -1;
else
return 0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -