📄 jsj29.java
字号:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class jsj29 extends Applet implements ActionListener
{
final int NUMBER=4;
ComplexNumber cNumber_1;
ComplexNumber cNumber_2;
ComplexNumber cResult;
double d=0.0;
TextField numComplexTfd[][],subComplexTfd[][];
Label resComplexbl[][];
Button caculateBtn[];
final String COMMAND_NAME[]=
{"ADD","MINUS","MULTIPLE","DIVIDE"};
public jsj29()
{
numComplexTfd=new TextField[NUMBER][2];
subComplexTfd=new TestField[NUMBER][2];
resComplexLbl=new Label[NUMBER][2];
caculateBtn=new Button[NUMBER];
for(int i=0;i<NUMBER;i++)
{
for(int j=0;j<2;j++)
{
numComplexTfd[i][j]=new TextField(5);
subComplexTfd[i][j]=new TextField(5);
resComplexLbl[i][j]=new Label(" ");
}
caculateBtn[i]=new Button("=");
caculateBtn[i].addActionListener(this);
caculateBtn[i].setActionCommand(COMMAND_NAME[i]);
}
cNumber_1=new ComplexNumber();
cNumber_2=new ComplexNumber();
cResult=new ComplexNumber();
for(int i=0;i<NUMBER;i++)
{
add(new Label("("));
add(numComplexTfd[i][0]);
add(new Label("+"));
add(numComplexTfd[i][1]);
add(new Label("i)");
switch(i)
{
case 0: add(new Label("+"));
break;
case 1: add(new Label("-"));
break;
case 2: add(new Label("*"));
break;
ase 3: add(new Label("/"));
break;
}
add(new Label("("));
add(numComplexTfd[i][0]);
add(new Label("+"));
add(numComplexTfd[i][1]);
add(new Label("i)");
add(caculateBtn[i]);
add(new Label("("));
add(numComplexLbl[i][0]);
add(new Label("+"));
add(numComplexLbl[i][1]);
add(new Label("i)");
}
}
public void init()
{
resetTextField();
}
public void actionPerformed(ActionEvent e)
{
int flag=0;
try
{
if(e.getActionCommand().equals(COMMAND_NAME[0]))
flag=0;
else if(e.getActionCommand().equals(COMMAND_NAME[1])
flag=1;
else if(e.getActionCommand().equals(COMMAND_NAME[2]))
flag=2;
else if(e.getActionCommand().equals(COMMAND_NAME[3]))
flag=3;
else
{
showStatus("未定义这种事件的处理操作"+e.toString());
return;
}
cNumber_1.setRealPart(
Double.parseDouble(numComplexTfd[flag][0].getText()));
cNumber_1.setImaginaryPart(
Double.parseDouble(numComplexTfd[flag][1].getText()));
if(subComplexTfd[flag][1].getText().equals(""))
{
d=Double.parseDouble(subComplexTfd[flag][0].getText());
switch(flag)
{
case 0: cResult=cNumber_1.complexAdd(d);
break;
case 1: cResult=cNumber_1.complexMinus(d);
break;
case 2: cResult=cNumber_1.complexMulti(d);
break;
case 3: cResult=cNumber_1.complexDivide(d);
break;
}
}
else
{
cNumber_2.setRealPart(
Double.parseDouble(subComplexTfd[flag][0].getText()));
cNumber_2.setImaginaryPart(
Double.parseDouble(subComplexTfd[flag][1].getText()));
switch(flag)
{
case 0:cResult=cNumber_1.complexAdd(cNumber_2);
break;
case 1:cResult=cNumber_1.complexMinus(cNumber_2);
break;
case 2:cResult=cNumber_1.complexMulti(cNumber_2);
break;
case 3:cResult=cNumber_1.complexDivide(cNumber_2);
break;
}
}
resComplexLbl[flag][0].setText(
Double.toString(cResult.getRealPart()));
resComplexLbl[flag][1].setText(
Double.toString(cResult.getImaginaryPart()));
}
catch(NumberFormatException nfe)
{
showStatus("输入的数据错误,请你重新输入。");
resetTextField();
}
}
void resetTextField()
{
for(int i=0;i<NUMBER;i++)
{
for(int j=0;j<2;j++)
{
numComplexTfd[i][j].setText("");
subComplexTfd[i][j].setText("");
resetComplexLbl[i][j].setText(" ");
}
}
}
}
class ComplexNumber
{
private double m_dRealPart;
private double m_dImaginPart;
ComplexNumber()
{
m_dRealPart=0.0;
m_dImaginPart=0.0;
}
ComplexNumber(double r,double i)
{
m_dRealPart=r;
m_dImaginPart=i;
}
ComplexNumber(ComplexNumber c)
{
m_dRealPart=c.getRealPart();
m_dImaginPart=c.getImaginaryPart();
}
double getRealPart;
{
return m_dRealPart;
}
double getImaginaryPart()
{
return m_dImaginPart;
}
void setRealPart(double d)
{
m_dRealPart=d;
}
void setImaginaryPart(double d)
{
m_dImaginPart=d;
}
ComplexNumber complexConjugate()
{
return new ComplexNumber(m_dRealPart,
-1*m_dImaginPart);
}
ComplexNumber complexAdd(ComplexNumber c)
{
return new ComplexNumber(this.m_dRealPart+c.getRealPart(),
this.m_dImaginPart+c.getImaginaryPart());
}
ComplexNumber complexAdd(double c)
{
return new ComplexNumber(this.m_dRealPart +c, this.m_dImaginPart);
}
ComplexNumber complexMinus(ComplexNumber c)
{
return new ComplexNumber(this.m_dRealPart - c.getRealPart(),
this.m_dImaginPart - c.getImaginaryPart());
}
ComplexNumber complexMinus(double c)
{
return new ComplexNumber(this.m_dRealPart-c,this.m_dImaginPart);
}
public String toString()
{
return"("+m_dRealPart+"+"+m_dImaginPart+"i"+")";
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -