在线急等~~怎样利用一个接口实现复数的运算?请大虾们帮忙~~~~
以下是我写的复数程序,请帮忙改下 ,谢谢 !
import java.applet.Applet;
import java.awt.*;
/* <applet code=ComplexCalculation width=600 heiht=500> </applet>*/
public class ComplexCalculation extends Applet
{
Label prompt1,prompt2;
double r,i,a1,a2,b1,b2;
TextField inputReal1,inputImagin1,inputReal2,inputImagin2;
ComplexNumber Complex1;
ComplexNumber Complex2;
public void init()
{
prompt1=new Label("请输入一个复数的实部与虚部:");
inputReal1=new TextField(5);
inputImagin1=new TextField(5);
prompt2=new Label("请输入另一个复数的实部与虚部:");
inputReal2=new TextField(5);
inputImagin2=new TextField(5);
Complex2=new ComplexNumber(a1,a2);
Complex1=new ComplexNumber(b1,b2);
add(prompt1);add(inputReal1);add(inputImagin1);
add(prompt2);add(inputReal2);add(inputImagin2);
}
public void paint(Graphics g)
{
ComplexNumber c1=new ComplexNumber(0,0);
ComplexNumber c2=new ComplexNumber(0,0);
ComplexNumber c3=new ComplexNumber(0,0);
c1=Complex1.complexAdd(Complex2);
c2=Complex1.complexMinus(Complex2);
c3=Complex1.complexMulti(Complex2);
g.drawString(Complex1.toString(),20,100);
g.drawString(Complex2.toString(),20,120);
g.drawString("这两个复数的和:",20,140);
g.drawString(c1.toString(),20,160);
g.drawString("这两个复数的差:",20,180);
g.drawString(c2.toString(),20,200);
g.drawString("这两个复数的乘积:",20,220);
g.drawString(c3.toString(),20,240);
}
public boolean action(Event e,Object o)
{
Complex1.setRealPart(Double.valueOf(inputReal1.getText()).doubleValue());
Complex1.setImaginaryPart(Double.valueOf(inputImagin1.getText()).doubleValue());
Complex2.setRealPart(Double.valueOf(inputReal2.getText()).doubleValue());
if(e.target==inputImagin2)
Complex2.setImaginaryPart(Double.valueOf(inputImagin2.getText()).doubleValue());
repaint();
return true;
}
}
class ComplexNumber
{
double m_dRealPart;
double m_dImaginPart;
ComplexNumber(double r,double i)
{
m_dRealPart=r;
m_dImaginPart=i;
}
double getRealPart()
{
return m_dRealPart;
}
boolean setRealPart(double d)
{
m_dRealPart=d;
return true;
}
double getImaginaryPart()
{
return m_dImaginPart;
}
boolean setImaginaryPart(double d)
{
m_dImaginPart=d;
return true;
}
ComplexNumber complexAdd(ComplexNumber d)
{
ComplexNumber temp;
m_dRealPart=m_dRealPart+d.m_dRealPart;
m_dImaginPart=m_dImaginPart+d.m_dImaginPart;
temp=new ComplexNumber(m_dRealPart,m_dImaginPart);
return temp;
}
ComplexNumber complexMinus(ComplexNumber d)
{
ComplexNumber temp;
m_dRealPart=m_dRealPart-d.m_dRealPart;
m_dImaginPart=m_dImaginPart-d.m_dImaginPart;
temp=new ComplexNumber(m_dRealPart,m_dImaginPart);
return temp;
}
ComplexNumber complexMulti(ComplexNumber d)
{
ComplexNumber temp;
m_dRealPart=m_dRealPart*d.m_dRealPart+(-(m_dImaginPart*d.m_dImaginPart));
m_dImaginPart=m_dRealPart*d.m_dImaginPart+m_dImaginPart*d.m_dImaginPart;
temp=new ComplexNumber(m_dRealPart,m_dImaginPart);
return temp;
}
public String toString()
{
String s;
s="复数"+m_dRealPart+"+"+m_dImaginPart+"i";
return(s);
}
}