📄 complexnumbercalculate.java
字号:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class complexnumbercalculate extends Applet implements ActionListener
{
Label prompt,
prompta,promptb,prompt1,prompt2,
prompt1a,prompt1b,prompt2a,prompt2b; //定义各标签
TextField input1real,input1mag,
input2real,input2mag,
input3real,input3mag,
input4real; //定义输入
Label ii,i1,i2; //标记i
Label aadd,aadd1,aadd2; //标记+
Button btn;
double numareal=0.0,numamag=0.0,
numbreal=0.0,numbmag=0.0,
nummreal=0.0,nummmag=0.0,
numn=0.0; //初始化
public void init()
{ prompt=new Label(" ");
prompta=new Label(" ");
promptb=new Label(" ");
prompt1=new Label("请输入待相加得复数a和复数b:");
prompt1a=new Label("复数a:");
prompt1b=new Label("复数b:");
prompt2=new Label("请输入待相加得复数m和实数n:");
prompt2a=new Label("复数m:");
prompt2b=new Label("实数n:"); //标记
ii=new Label(" i ");
i1=new Label(" i ");
i2=new Label(" i "); //i标记
aadd=new Label(" + ");
aadd1=new Label(" + ");
aadd2=new Label(" + "); //+标记
input1real= new TextField(5); //a实部输入处
input1mag=new TextField(5); //a虚部输入出
input2real=new TextField(5); //b实部输入处
input2mag=new TextField(5); //b虚部输入处
input3real=new TextField(5); //m实部输入处
input3mag=new TextField(5); //m虚部输入处
input4real=new TextField(5); //实数n
btn=new Button("计算 "); //计算按纽
add(prompt1); //标签输入两个复数
add(prompt); //空格
add(prompt1a); //复数a
add(input1real);//复数a得实部
add(aadd); //标记+
add(input1mag); //复数a得虚部
add(ii); //标记i
add(prompt1b); //复数b
add(input2real); //复数b实部
add(aadd1); //标记+
add(input2mag); //复数b虚部
add(i1); //标记i
add(prompt2); //标签复数和实数
add(prompta); //空格
add(prompt2a); //复数m
add(input3real); //复数m实部
add(aadd2); //标记+
add(input3mag); //复数m虚部
add(i2); //标记i
add(prompt2b); //实数n标签
add(input4real); //实数n
add(promptb); //空格
add(btn); //计算
btn.addActionListener(this);
}
public void paint(Graphics g)
{
ComplexNumber a=new ComplexNumber(numareal,numamag);
ComplexNumber b=new ComplexNumber(numbreal,numbmag);
ComplexNumber m=new ComplexNumber(nummreal,nummmag);
double n=numn; //定义各参加计算的复数
g.drawString("计算结果:",50,100);
g.drawString("a + b = "+(a.complexAdd(b)).tostring(),160,100);
g.drawString("a - b = "+(a.complexMinus(b)).tostring(),160,120);
g.drawString("a * b = "+(a.complexMulti(b)).tostring(),160,140);
g.drawString("a / b = "+(a.complexDivide(b)).tostring(),160,160); //调用复数类中的方法计算并输出
g.drawString("m + n = "+(m.complexAdd(n)).tostring(),500,100);
g.drawString("m - n = "+(m.complexMinus(n)).tostring(),500,120);
g.drawString("m * n = "+(m.complexMulti(n)).tostring(),500,140);
g.drawString("m / n = "+(m.complexDivide(n)).tostring(),500,160); //同上
}
public void actionPerformed(ActionEvent e)
{
numareal=Double.valueOf(input1real.getText()).doubleValue();//获得a得实部
numamag=Double.valueOf(input1mag.getText()).doubleValue(); //获得a得虚部
numbreal=Double.valueOf(input2real.getText()).doubleValue();
numbmag=Double.valueOf(input2mag.getText()).doubleValue(); //获得复数b得虚实部
nummreal=Double.valueOf(input3real.getText()).doubleValue();
nummmag=Double.valueOf(input3mag.getText()).doubleValue(); //m得虚实部
numn=Double.valueOf(input4real.getText()).doubleValue(); //数n
repaint();
}
}
class ComplexNumber
{
double m_dRealPart;
double m_dlmaginPart;
ComplexNumber()
{
m_dRealPart=0.0;
m_dlmaginPart=0.0;
}//构造函数 置零
ComplexNumber(double r, double i)
{
m_dRealPart=r;
m_dlmaginPart=i;
}//构造函数 初始化
double getRealPart()
{
return m_dRealPart;
}//获取复数对象的实部
double getImaginaryPart()
{
return m_dlmaginPart;
}//获取复数对象的虚部
void setRealPart(double d)
{
m_dRealPart=d;
}//设置实部
void setImaginaryPart(double d)
{
m_dlmaginPart=d;
}//设置虚部
ComplexNumber complexAdd(ComplexNumber c)
{
ComplexNumber result=new ComplexNumber(0.0,0.0);
result.m_dRealPart=c.m_dRealPart+m_dRealPart;
result.m_dlmaginPart=c.m_dlmaginPart+m_dlmaginPart;
return result;
}//复数加法
ComplexNumber complexAdd(double c)
{
ComplexNumber result=new ComplexNumber(0.0,0.0);
result.m_dRealPart=m_dRealPart+c;
result.m_dlmaginPart=m_dlmaginPart;
return result;
}//复数实数加法
ComplexNumber complexMinus(ComplexNumber c)
{
ComplexNumber result=new ComplexNumber(0.0,0.0);
result.m_dRealPart=m_dRealPart-c.m_dRealPart;
result.m_dlmaginPart=m_dlmaginPart-c.m_dlmaginPart;
return result;
}//减法
ComplexNumber complexMinus(double c)
{
ComplexNumber result=new ComplexNumber(0.0,0.0);
result.m_dRealPart=m_dRealPart-c;
result.m_dlmaginPart=m_dlmaginPart;
return result;
}//复数实数减法
ComplexNumber complexMulti(ComplexNumber c)
{
ComplexNumber result=new ComplexNumber(0.0,0.0);
result.m_dRealPart=m_dRealPart*c.m_dRealPart-m_dlmaginPart*c.m_dlmaginPart;
result.m_dlmaginPart=m_dRealPart*c.m_dlmaginPart+m_dlmaginPart*c.m_dRealPart;
return result;
}//复数乘法
ComplexNumber complexMulti(double c)
{
ComplexNumber result=new ComplexNumber(0.0,0.0);
result.m_dRealPart=m_dRealPart*c;
result.m_dlmaginPart=m_dlmaginPart*c;
return result;
}//复数实数乘法
ComplexNumber complexDivide(ComplexNumber c)
{
ComplexNumber result=new ComplexNumber(0.0,0.0);
double n=c.m_dRealPart*c.m_dRealPart+c.m_dlmaginPart*m_dlmaginPart;
double m=-c.m_dlmaginPart;
result.m_dRealPart=(m_dRealPart*c.m_dRealPart-m_dlmaginPart*m)/n;
result.m_dlmaginPart=(m_dRealPart*m+m_dlmaginPart*m_dRealPart)/n;
return result;
}//复数除法
ComplexNumber complexDivide(double c)
{
ComplexNumber result=new ComplexNumber(0.0,0.0);
result.m_dRealPart=m_dRealPart/c;
result.m_dlmaginPart=m_dlmaginPart/c;
return result;
}//复数实数除法
String tostring()
{
String s=m_dRealPart+" + "+m_dlmaginPart+" i ";
return s;
} //转化为字符串
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -