在线急等~~怎样利用一个接口实现复数的运算?请大虾们帮忙~~~~

xudong1552 2006-03-29 11:02:36
以下是我写的复数程序,请帮忙改下 ,谢谢 !
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);
}
}
...全文
136 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
interpb 2006-03-29
  • 打赏
  • 举报
回复
程序写的太乱

先自己调试一下
interpb 2006-03-29
  • 打赏
  • 举报
回复
那就定义个接口
里面包含四则运算的方法

具体类里面实现方法
xudong1552 2006-03-29
  • 打赏
  • 举报
回复
上面的程序是对的<偶想换接口来实现四则运算<请大虾帮忙~~~~* *~~~~~~能详细点吗?
*
xudong1552 2006-03-29
  • 打赏
  • 举报
回复
怎样取出一个接口?
捏造的信仰 2006-03-29
  • 打赏
  • 举报
回复
将 ComplexNumber 类提取出一个接口即可。
wizardblue 2006-03-29
  • 打赏
  • 举报
回复
public interface Complex {
Complex add(Complex other);

Complex add(Complex left, Complex right);

Complex minus(Complex other);

Complex minus(Complex left, Complex right);

Complex multi(Complex other);

Complex multi(Complex left, Complex right);
}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧