java新手 入门编程 结果老是出错啊!谁来看看啊

来源:百度知道 编辑:UC知道 时间:2024/05/24 12:17:09
创建和使用类的小代码
public class ComplexNumber {
private static int[] compNum = new int[2];
ComplexNumber(int x, int y) {
compNum[0] = x;
compNum[1] = y;
}
ComplexNumber() {
compNum[0] = 0;
compNum[1] = 0;
}
public int getShibu() {
return compNum[0];
}
public int getXubu() {
return compNum[1];
}
public void setCompNum(int x, int y) {
compNum[0] = x;
compNum[1] = y;
}
public String toString() {
return compNum[0] + " + " + compNum[1] + "i";
}
public static ComplexNumber addComp(ComplexNumber a, ComplexNumber b) {
ComplexNumber c = new ComplexNumber();
c.setCompNum(a.getShibu() + b.getShibu(), a.getXubu() + b.getXubu());
return c;
}
public static ComplexNumber mulComp(ComplexNumber a, ComplexNumber b) {
ComplexNumber d = new ComplexNumber();
d.setCompNum(a.getShibu() * b.getShibu()

真有意思。复数类编成这样了。。。
看看我给学生做的复数类吧。郁闷的是,没留,只能手工输入了。
public class Complex{
private double real,image;
public Complex(){
real=0;
image=0;
}
public Complex(double real,double image){
this.real=real;
this.image=image;
}
public Complex add(Complex c){
real+=c.real;
image+=c.image;
return this;
}
public Complex subtract(Complex c){
real-=c.real;
image-=c.image;
return this;
}
public Complex multiply(Complex c){
double r=real,i=image;
real=r*c.real-i*c.image;
image=r*c.image+i*c.real;
return this;
}
public Complex divide(Complex c){
if(c.real==0&&c.image==0){
throw new ArithmeticException("被0除");
}
double m2=c.real*c.real+c.image*c.ima