/**
*復數類
* @作者sunsnowad
*/
公共類復數{
雙重真實,不真實;
公共復數(雙實數,雙虛數){
this.real = real
this.unreal =虛幻;
}
private Plural() {
實數= 0.0;
虛幻= 0.0;
}
公共復數add(復數a,復數b){
返回new復數(a.getReal()+b.getReal()、a . get unreal()+b . get unreal());
}
公共復數減(復數a,復數b){
返回new復數(a.getReal()-b.getReal()、a . get unreal()-b . get unreal());
}
公共復數multi(復數a,復數b){
返回新復數(a . get real()* b . get real()-a . get unreal()* b . get unreal(),
a . get unreal()* b . get real()+a . get real()* b . get unreal());
}
公共復數除法(復數a,復數b){
double middle result = a . get real()* a . get real()+a . get unreal()* b . get unreal();
double real result =(a . get real()* b . get real()+a . get unreal()* b . get unreal())/middle result;
double unreal result =(a . get unreal()* b . get real()-a . get real()* b . get unreal())/middle result;
返回新的復數(realResult,unreal result);
}
public double getReal() {
返回真實;
}
public void setReal(double real) {
this.real = real
}
public double getUnreal() {
返回不真實;
}
public void set unreal(double unreal){
this.unreal =虛幻;
}
@覆蓋
公共字符串toString(){
返回real+"+"+unreal+" I ";
}
public static Plural parse Plural(String Plural){
plural = plural . trim();
String realString =
String unrealString =
if(復數. contains(“I”){
for(int I = 0;我& ltplural . length();i ++){
if(plural.charAt(i) == '+'){
for(int j = I+1;j & ltplural . length()-1;j ++){
un real string+= plural . charat(j);
}
打破;
}
realString+= plural . charat(I);
}
}
//TODO else
返回新的復數(Double.parseDouble(realString),double . parse double(unrealString));
}
}
Applet測試程序(使用Netbeans設計工具):
/**
*
* @作者sunsnowad
*/
公共類PluralTest擴展javax.swing.JApplet {
/**初始化applet PluralTest */
public void init() {
嘗試{
Java . awt . event queue . invokeendwait(new Runnable(){
公共無效運行(){
init components();
}
});
} catch (Exception ex) {
ex . printstacktrace();
}
}
/**從init()方法中調用此方法來
*初始化表單。
*警告:不要修改此代碼。這種方法的內容是
*總是由表單編輯器重新生成。
*/
@SuppressWarnings("未選中")
//& lt;編輯器-fold default state = " collapsed " desc = "生成的代碼" & gt
私有void initComponents() {
jlabel 1 = new javax . swing . jlabel();
jtextfield 1 = new javax . swing . jtextfield();
jlabel 2 = new javax . swing . jlabel();
jtextfield 2 = new javax . swing . jtextfield();
jbutton 1 = new javax . swing . jbutton();
jbutton 2 = new javax . swing . jbutton();
jbutton 3 = new javax . swing . jbutton();
jbutton 4 = new javax . swing . jbutton();
jlabel 3 = new javax . swing . jlabel();
JLabel1.setText("實數1:");
jtextfield 1 . settext(" 4+5i ");
JLabel2.setText("實數2:");
jtextfield 2 . settext(" 5+4.4 I ");
jbutton 1 . settext(" plus ");
jbutton 1 . addactionlistener(new Java . awt . event . action listener(){
public void action performed(Java . awt . event . action event evt){
jbutton 1 action performed(evt);
}
});
jbutton 2 . settext(" MINUS ");
jbutton 2 . addactionlistener(new Java . awt . event . action listener(){
public void action performed(Java . awt . event . action event evt){
jbutton 2 action performed(evt);
}
});
jbutton 3 . settext(" multiply ");
jbutton 3 . addactionlistener(new Java . awt . event . action listener(){
public void action performed(Java . awt . event . action event evt){
jbutton 3 action performed(evt);
}
});
jbutton 4 . settext(" divide ");
jbutton 4 . addactionlistener(new Java . awt . event . action listener(){
public void action performed(Java . awt . event . action event evt){
jbutton 4 action performed(evt);
}
});
jlabel 3 . settext(" Result:");
javax . swing . group layout layout = new javax . swing . group layout(getContentPane());
getContentPane()。setLayout(布局);
layout.setHorizontalGroup(
layout . createparallelgroup(javax . swing . group layout . alignment . leading)
。add group(layout . create sequential group()
。addContainerGap()
。add group(layout . createparallelgroup(javax . swing . group layout . alignment . leading)
。add group(layout . createparallelgroup(javax . swing . group layout . alignment . leading,false)
。add group(layout . create sequential group()
。addComponent(jLabel1)
。addPreferredGap(javax . swing . layout style . component placement . related)
。addComponent(jTextField1,javax . swing . group layout . preferred _ SIZE,143,javax . swing . group layout . preferred _ SIZE))
。add group(layout . create sequential group()
。addComponent(jLabel2)
。addPreferredGap(javax . swing . layout style . component placement . related)
。addComponent(jTextField2)))
。添加組件(jButton4)
。add group(layout . create sequential group()
。add group(layout . createparallelgroup(javax . swing . group layout . alignment . leading)
。addComponent(jButton3)
。addComponent(jButton2))
。addPreferredGap(javax . swing . layout style . component placement . related)
。addComponent(jLabel3,javax . swing . group layout . default _ SIZE,331,Short。最大值))
。addComponent(jButton1))
。addContainerGap())
);
layout.setVerticalGroup(
layout . createparallelgroup(javax . swing . group layout . alignment . leading)
。add group(layout . create sequential group()
。addContainerGap()
。add group(layout . createparallelgroup(javax . swing . group layout . alignment . baseline)
。addComponent(jLabel1)
。addComponent(jTextField1,javax . swing . group layout . preferred _ SIZE,javax . swing . group layout . default _ SIZE,javax . swing . group layout . preferred _ SIZE))
。addPreferredGap(javax . swing . layout style . component placement . related)
。add group(layout . createparallelgroup(javax . swing . group layout . alignment . baseline)
。addComponent(jLabel2)
。addComponent(jTextField2,javax . swing . group layout . preferred _ SIZE,javax . swing . group layout . default _ SIZE,javax . swing . group layout . preferred _ SIZE))
。add group(layout . createparallelgroup(javax . swing . group layout . alignment . leading)
。add group(layout . create sequential group()
。addPreferredGap(javax . swing . layout style . component placement . related)
。addComponent(jButton1)
。addPreferredGap(javax . swing . layout style . component placement . related)
。addComponent(jButton2)
。addPreferredGap(javax . swing . layout style . component placement . related)
。addComponent(jButton3)
。addPreferredGap(javax . swing . layout style . component placement . related)
。addComponent(jButton4))
。add group(layout . create sequential group()
。addGap(47,47,47)
。addComponent(jLabel3,javax . swing . group layout . preferred _ SIZE,36,javax . swing . group layout . preferred _ SIZE)))
。addContainerGap(122,短。最大值))
);
}//& lt;/editor-fold & gt;
private void jbutton 1 action performed(Java . awt . event . action event evt){
// TODO在此添加處理代碼:
plural a = plural . parse plural(jtextfield 1 . gettext());
plural b = plural . parse plural(jtextfield 2 . gettext());
jLabel3.setText(a.add(a,b))。toString());
}
private void jbutton 2 action performed(Java . awt . event . action event evt){
plural a = plural . parse plural(jtextfield 1 . gettext());
plural b = plural . parse plural(jtextfield 2 . gettext());
jLabel3.setText(a.minus(a,b))。toString());
}
private void jbutton 3 action performed(Java . awt . event . action event evt){
plural a = plural . parse plural(jtextfield 1 . gettext());
plural b = plural . parse plural(jtextfield 2 . gettext());
jLabel3.setText(a.multi(a,b))。toString());
}
private void jbutton 4 action performed(Java . awt . event . action event evt){
plural a = plural . parse plural(jtextfield 1 . gettext());
plural b = plural . parse plural(jtextfield 2 . gettext());
jLabel3.setText(a.division(a,b))。toString());
}
//變量聲明-不要修改
private javax . swing . jbutton jbutton 1;
private javax . swing . jbutton jbutton 2;
private javax . swing . jbutton jbutton 3;
private javax . swing . jbutton jbutton 4;
private javax . swing . jlabel jlabel 1;
private javax . swing . jlabel jlabel 2;
private javax . swing . jlabel jlabel 3;
private javax . swing . jtextfield jtextfield 1;
private javax . swing . jtextfield jtextfield 2;
//變量聲明結束