楊彩的Java博客
          醉里挑燈看劍,夢里吹雨聽風.仗劍獨走天涯,試問誰與爭鋒!
          posts - 8,comments - 49,trackbacks - 0

          import javax.swing.*;
          import javax.swing.event.*;
          import java.awt.*;
          import java.awt.event.*;

          public class calculator extends JFrame implements ActionListener
          {//這里我把JFrame寫成Frame,這個錯誤找了好久
          ?JFrame frame;
          ?
          ?private JButton jia=new JButton("+");
          ?private JButton jian=new JButton("-");
          ?private JButton cheng=new JButton("*");
          ?private JButton chu=new JButton("/");
          ?private JButton qiuyi=new JButton("%");
          ?private JButton deng=new JButton("=");
          ?private JButton fu=new JButton("+/-");
          ?private JButton dian=new JButton(".");
          ?private JButton kai=new JButton("sqrt");
          ?private JButton diao=new JButton("1/x");
          ?private JButton aa=new JButton("A");
          ?private JButton bb=new JButton("B");
          ?private JButton cc=new JButton("C");
          ?private JButton dd=new JButton("D");
          ?private JButton ee=new JButton("E");
          ?private JButton ff=new JButton("F");
          ?
          ?private TextField k1=new TextField();?
          ?private objConversion convert = new objConversion();
          ?
          ?JMenuItem copy,paste,s,t,help,about,me;
          ?JRadioButton sixteen,ten,eight,two;
          ?JButton backspace,ce,c,num0,num1,num2,num3,num4,num5,num6,num7,num8,num9;
          ?Container cp;
          ?
          ?JTextField text;
          ?String copycontent="";
          ?boolean clickable=true,clear=true;
          ?int all=0;
          ?double qian;
          ?String fuhao;
          ?int jin=10,first=1;
          ?
          ?
          ?public calculator()
          ?{
          ??setTitle("計算器-楊彩制作");
          ??setSize(400,300);
          ??setLocation(250,200);
          ??text=new JTextField(25);
          ?//?text.setEnabled(false);
          ??text.setText("0.");
          ??text.setHorizontalAlignment(JTextField.RIGHT);//從右到左

          ?
          ??JPanel cp1=new JPanel();
          ??JPanel cp2=new JPanel();
          ??JPanel cp3=new JPanel();
          ??

          ??cp=getContentPane();
          ??cp.add(cp1,"North");
          ??cp.add(cp2,"Center");
          ??cp.add(cp3,"South");
          ??
          ??cp1.setLayout(new GridLayout(1,6));
          ??cp2.setLayout(new GridLayout(2,4));
          ??cp3.setLayout(new GridLayout(6,6));
          ??
          ??sixteen=new JRadioButton("十六進制");
          ??sixteen.setVisible(false);
          ??ten=new JRadioButton("十進制",true);
          ??ten.setVisible(false);
          ??eight=new JRadioButton("八進制");
          ??eight.setVisible(false);?
          ??two=new JRadioButton("二進制");
          ??two.setVisible(false);
          ??sixteen.addActionListener(this);
          ??ten.addActionListener(this);
          ??eight.addActionListener(this);
          ??two.addActionListener(this);?
          ??ButtonGroup btg=new ButtonGroup();
          ??
          ??btg.add(sixteen);?
          ??btg.add(ten);?
          ??btg.add(eight);?
          ??btg.add(two);
          ?
          ??JTextField t3=new JTextField(25);
          ??cp1.add(text);
          ?//?text.setEnabled(false);
          ??text.setEditable(false);
          ??text.setBackground(new Color(255, 255, 255));
          ??
          ??cp2.add(sixteen);
          ??cp2.add(ten);
          ??cp2.add(eight);
          ??cp2.add(two);
          ??
          ??backspace=new JButton("Backspace");
          ??backspace.setForeground(new Color(255,0,0));
          ??backspace.addActionListener(this);
          ??ce=new JButton("CE");
          ??ce.setForeground(new Color(255,0,0));
          ??ce.addActionListener(this);
          ??c=new JButton("C");
          ??c.setForeground(new Color(255,0,0));
          ??c.addActionListener(this);
          ??k1.setVisible(false);
          ??cp2.add(k1);
          ??cp2.add(backspace);
          ??cp2.add(ce);
          ??cp2.add(c);
          ??

          ??num0=new JButton("0");
          ??num1=new JButton("1");
          ??num2=new JButton("2");
          ??num3=new JButton("3");
          ??num4=new JButton("4");
          ??num5=new JButton("5");
          ??num6=new JButton("6");
          ??num7=new JButton("7");
          ??num8=new JButton("8");
          ??num9=new JButton("9");

          ?

          ??cp3.add(num7);
          ??num7.addActionListener(this);
          ??cp3.add(num8);
          ??num8.addActionListener(this);
          ??cp3.add(num9);
          ??num9.addActionListener(this);
          ??cp3.add(chu);
          ??chu.setForeground(new Color(255,0,0));
          ??chu.addActionListener(this);
          ??cp3.add(kai);
          ??kai.addActionListener(this);
          ??cp3.add(num4);
          ??num4.addActionListener(this);
          ??cp3.add(num5);
          ??num5.addActionListener(this);
          ??cp3.add(num6);
          ??num6.addActionListener(this);
          ??cp3.add(cheng);
          ??cheng.setForeground(new Color(255,0,0));
          ??cheng.addActionListener(this);
          ??cp3.add(qiuyi);
          ??qiuyi.addActionListener(this);
          ??cp3.add(num1);
          ??num1.addActionListener(this);
          ??cp3.add(num2);
          ??num2.addActionListener(this);
          ??cp3.add(num3);
          ??num3.addActionListener(this);
          ??cp3.add(jian);
          ??jian.setForeground(new Color(255,0,0));
          ??jian.addActionListener(this);
          ??cp3.add(diao);
          ??diao.addActionListener(this);
          ??cp3.add(num0);
          ??num0.addActionListener(this);
          ??cp3.add(fu);
          ??fu.addActionListener(this);
          ??cp3.add(dian);
          ??dian.addActionListener(this);
          ??cp3.add(jia);
          ??jia.setForeground(new Color(255,0,0));
          ??jia.addActionListener(this);
          ??cp3.add(deng);
          ??deng.setForeground(new Color(255,0,0));
          ??deng.addActionListener(this);
          ??cp3.add(aa);
          ??aa.addActionListener(this);
          ??cp3.add(bb);
          ??bb.addActionListener(this);
          ??cp3.add(cc);
          ??cc.addActionListener(this);
          ??cp3.add(dd);
          ??dd.addActionListener(this);
          ??cp3.add(ee);
          ??ee.addActionListener(this);
          ??cp3.add(ff);
          ??ff.addActionListener(this);
          ??aa.setVisible(false);
          ??bb.setVisible(false);
          ??cc.setVisible(false);
          ??dd.setVisible(false);
          ??ee.setVisible(false);
          ??ff.setVisible(false);

          ?????
          ??JMenuBar mainMenu = new JMenuBar();
          ??setJMenuBar(mainMenu);
          ??JMenu editMenu = new JMenu("編輯");
          ??JMenu viewMenu = new JMenu("查看");
          ??JMenu helpMenu = new JMenu("幫助");
          ??mainMenu.add(editMenu);
          ??mainMenu.add(viewMenu);
          ??mainMenu.add(helpMenu);
          ??
          ??copy = new JMenuItem(" 復制");
          ??paste = new JMenuItem(" 粘貼");
          ??KeyStroke copyks=KeyStroke.getKeyStroke(KeyEvent.VK_C,Event.CTRL_MASK);
          ? ??copy.setAccelerator(copyks);//設置退出菜單選項加上快捷鍵
          ? ??KeyStroke pasteks=KeyStroke.getKeyStroke(KeyEvent.VK_V,Event.CTRL_MASK);
          ? ??paste.setAccelerator(pasteks);//設置退出菜單選項加上快捷鍵
          ??editMenu.add(copy);
          ??editMenu.add(paste);
          ??copy.addActionListener(this);
          ??paste.addActionListener(this);
          ??
          ??t = new JMenuItem("●標準型");
          ??s = new JMenuItem("?? 科學型");
          ??viewMenu.add(t);
          ??viewMenu.add(s);
          ??t.addActionListener(this);
          ??s.addActionListener(this);
          ????
          ??help = new JMenuItem(" 幫助主題");
          ??about = new JMenuItem(" 關于計算器");
          ??me = new JMenuItem(" 作者主頁");
          ??helpMenu.add(help);
          ??helpMenu.add(about);?
          ??helpMenu.add(me);
          ??help.addActionListener(this);
          ??about.addActionListener(this);
          ??me.addActionListener(this);
          ??
          ??

          ??
          ??
          ??
          ??
          ??
          ?addWindowListener(new WindowDestroyer());//結束窗口
          ?}
          ?
          ?


          ?
          ?public void actionPerformed(ActionEvent e)
          ?
          ?{//響應動作代碼
          ??
          ??if(first==1)
          ??text.setText("");
          ??first=0;//第一次把文本框0.清空
          ?
          ? ?Object temp = e.getSource();

          ? ?if(temp==copy)
          ? ?{
          ???copycontent = text.getText();
          ??}
          ??if(temp==paste)
          ? ?{
          ???text.setText(text.getText()+copycontent);
          ??
          ??}
          ??if(temp==t)
          ??{//標準
          ???
          ???sixteen.setVisible(false);
          ???ten.setVisible(false);
          ???eight.setVisible(false);
          ???two.setVisible(false);
          ???t.setText("●標準型");
          ???s.setText("??? 科學型");
          ???aa.setVisible(false);
          ???bb.setVisible(false);
          ???cc.setVisible(false);
          ???dd.setVisible(false);
          ???ee.setVisible(false);
          ???ff.setVisible(false);
          ??}
          ??if(temp==s)
          ??{//科學
          ???
          ???sixteen.setVisible(true);
          ???ten.setVisible(true);
          ???eight.setVisible(true);
          ???two.setVisible(true);
          ???t.setText("?? 標準型");
          ???s.setText("●科學型");
          ???aa.setVisible(true);
          ???bb.setVisible(true);
          ???cc.setVisible(true);
          ???dd.setVisible(true);
          ???ee.setVisible(true);
          ???ff.setVisible(true);
          ???aa.setEnabled(false);
          ???bb.setEnabled(false);
          ???cc.setEnabled(false);
          ???dd.setEnabled(false);
          ???ee.setEnabled(false);
          ???ff.setEnabled(false);
          ???
          ???
          ??}
          ??if(temp==help)
          ??{ //打開系統幫助文件 要查資料
          ???try
          ???{
          ???? String filePath = "C:/WINDOWS/Help/calc.chm";
          ????? Runtime.getRuntime().exec("cmd.exe /c "+filePath);

          ???
          ???}
          ???catch(Exception eeee)
          ???{
          ????System.out.println("打開系統的計算器出錯");????
          ???}
          ??}
          ??if(temp==about)
          ??{
          ???JOptionPane.showMessageDialog(frame,"????? Java計算器\n????? 楊彩 制作\n\n ??}
          ??if(temp==me)
          ??{
          ???try
          ???{
          ????Process p = Runtime.getRuntime().exec("explorer
          ???}
          ???catch(Exception eeee)
          ???{
          ????System.out.println("打開指定網頁出錯");????
          ???}?
          ??}
          ??
          ??
          ??try
          ??{
          ??if(temp==sixteen)
          ??{
          ???String hex=text.getText();
          ???int inthex=Integer.parseInt(hex,jin);//先把數變為10進制??
          ???text.setText(convert.decHex(inthex)) ;
          ???jin=16;
          ???aa.setEnabled(true);
          ???bb.setEnabled(true);
          ???cc.setEnabled(true);
          ???dd.setEnabled(true);
          ???ee.setEnabled(true);
          ???ff.setEnabled(true);
          ???num2.setEnabled(true);
          ???num3.setEnabled(true);
          ???num4.setEnabled(true);
          ???num5.setEnabled(true);
          ???num6.setEnabled(true);
          ???num7.setEnabled(true);
          ???num8.setEnabled(true);
          ???num9.setEnabled(true);
          ?
          ??}
          ??if(temp==eight)
          ??{
          ???String oct =text.getText();
          ???int intoct=Integer.parseInt(oct,jin);??
          ???text.setText(convert.decOct(intoct)) ;
          ???jin=8;
          ???
          ???aa.setEnabled(false);
          ???bb.setEnabled(false);
          ???cc.setEnabled(false);
          ???dd.setEnabled(false);
          ???ee.setEnabled(false);
          ???ff.setEnabled(false);
          ???num2.setEnabled(true);
          ???num3.setEnabled(true);
          ???num4.setEnabled(true);
          ???num5.setEnabled(true);
          ???num6.setEnabled(true);
          ???num7.setEnabled(true);
          ???num8.setEnabled(false);
          ???num9.setEnabled(false);
          ??}
          ??if(temp==two)
          ??{
          ???String bin=text.getText();
          ???int intbin=Integer.parseInt(bin,jin);
          ???text.setText(convert.decBin(intbin));
          ???jin=2;
          ???
          ???aa.setEnabled(false);
          ???bb.setEnabled(false);
          ???cc.setEnabled(false);
          ???dd.setEnabled(false);
          ???ee.setEnabled(false);
          ???ff.setEnabled(false);
          ???num2.setEnabled(false);
          ???num3.setEnabled(false);
          ???num4.setEnabled(false);
          ???num5.setEnabled(false);
          ???num6.setEnabled(false);
          ???num7.setEnabled(false);
          ???num8.setEnabled(false);
          ???num9.setEnabled(false);
          ??}
          ??if(temp==ten)
          ??{
          ???String dec=text.getText();
          ???int intdec=Integer.parseInt(dec,jin);
          ??//?text.setText(convert.decDec(intdec));? //本句會把123變成321
          ???text.setText(intdec+"");
          ???jin=10;
          ???aa.setEnabled(false);
          ???bb.setEnabled(false);
          ???cc.setEnabled(false);
          ???dd.setEnabled(false);
          ???ee.setEnabled(false);
          ???ff.setEnabled(false);
          ???num2.setEnabled(true);
          ???num3.setEnabled(true);
          ???num4.setEnabled(true);
          ???num5.setEnabled(true);
          ???num6.setEnabled(true);
          ???num7.setEnabled(true);
          ???num8.setEnabled(true);
          ???num9.setEnabled(true);
          ??}
          ??}
          ??catch(Exception ee)
          ??{
          ???System.out.println("轉換出錯,可能你沒有輸入任何字符");
          ???text.setText("轉換出錯");
          ???clear=false;
          ??}
          ??
          ??if(temp==backspace)
          ??{//退格
          ??String s = text.getText();
          ??text.setText("");
          ??for (int i = 0; i < s.length() - 1; i++)
          ??{
          ??char a = s.charAt(i);
          ??text.setText(text.getText() + a);
          ??}
          ??}
          ??
          ??if (temp==ce)
          ??{
          ???text.setText("0.");
          ???clear=true;
          ???first=1;
          ??}
          ??if (temp==c)
          ??{
          ???text.setText("0.");???;
          ???clear=true;
          ???first=1;
          ??}
          ??
          ??if(temp==num0)
          ???{ ?
          ????if(clear==false)//判斷是否點擊了符號位
          ????text.setText("");
          ????text.setText(text.getText()+"0");
          ???}
          ??
          ??if(temp==num1)
          ???{ ???
          ????if(clear==false)
          ????text.setText("");
          ????text.setText(text.getText()+"1");
          ????clear=true;//第二次不在清空(前二句)
          ???}
          ??
          ??if(temp==num2)
          ???{ ???
          ????if(clear==false)
          ????text.setText("");
          ????text.setText(text.getText()+"2");
          ????clear=true;
          ???}
          ??
          ??if(temp==num3)
          ???{ ???
          ????if(clear==false)
          ????text.setText("");
          ????text.setText(text.getText()+"3");
          ????clear=true;
          ???}
          ??
          ??if(temp==num4)
          ???{ ???
          ????if(clear==false)
          ????text.setText("");
          ????text.setText(text.getText()+"4");
          ????clear=true;
          ???}
          ??
          ??if(temp==num5)
          ???{
          ????if(clear==false)
          ????text.setText("");
          ????text.setText(text.getText()+"5");
          ????clear=true;
          ???}
          ??
          ??if(temp==num6)
          ???{
          ????if(clear==false)
          ????text.setText("");
          ????text.setText(text.getText()+"6");
          ????clear=true;
          ???}
          ??if(temp==num7)
          ???{
          ????if(clear==false)
          ????text.setText("");
          ????text.setText(text.getText()+"7");
          ????clear=true;
          ???}
          ??
          ??if(temp==num8)
          ???{
          ????if(clear==false)
          ????text.setText("");
          ????text.setText(text.getText()+"8");
          ????clear=true;
          ???}
          ??
          ??if(temp==num9)
          ???{
          ????if(clear==false)
          ????text.setText("");
          ????text.setText(text.getText()+"9");
          ????clear=true;
          ???}
          ???if(temp==aa)
          ???{
          ????text.setText(text.getText()+"A");
          ???}
          ??if(temp==bb)
          ???{
          ????text.setText(text.getText()+"B");
          ???}
          ??
          ??if(temp==cc)
          ???{
          ????text.setText(text.getText()+"C");
          ???}
          ??
          ??if(temp==dd)
          ???{
          ????text.setText(text.getText()+"D");
          ???}
          ??
          ??if(temp==ee)
          ???{
          ????text.setText(text.getText()+"E");
          ???}?
          ??if(temp==ff)
          ???{
          ????text.setText(text.getText()+"F");
          ???}
          ???if(temp==dian)
          ???{
          ????clickable=true;
          ????for (int i = 0; i < text.getText().length(); i++)
          ???if ('.' == text.getText().charAt(i))
          ???{
          ???clickable=false;
          ???break;
          ???} //第一層判斷是否里面含有小數點;
          ????
          ????if(clickable==true)//第二壇判斷
          ????text.setText(text.getText()+".");
          ????
          ???}
          ???
          ??try
          ??{?
          ???if(temp==jia)
          ???{//加法
          ????qian=Double.parseDouble(text.getText());
          ????fuhao="+";
          ????clear=false;
          ???}
          ???if(temp==jian)
          ???{
          ????qian=Double.parseDouble(text.getText());
          ????fuhao="-";
          ????clear=false;
          ????;
          ????
          ???}
          ???if(temp==cheng)
          ???{
          ????qian=Double.parseDouble(text.getText());
          ????fuhao="*";
          ????clear=false;
          ???? ???
          ???}
          ???if(temp==chu)
          ???{
          ????qian=Double.parseDouble(text.getText());
          ????fuhao="/";
          ????clear=false;
          ???? ???
          ???}
          ???if(temp==deng)
          ???{
          ????double ss=Double.parseDouble(text.getText());
          ????text.setText("");
          ????if(fuhao=="+")
          ????text.setText(qian+ss+"");
          ????if(fuhao=="-")
          ????text.setText(qian-ss+"");
          ????if(fuhao=="*")
          ????text.setText(qian*ss+"");
          ????if(fuhao=="/")
          ????text.setText(qian/ss+"");
          ????clear=false;//要清空前一次的數據
          ????;
          ????
          ???}
          ???
          ???if(temp==kai)
          ???{ ???
          ??String s = text.getText();
          ??if (s.charAt(0) == '-')
          ??{
          ???text.setText("負數不能開根號");
          ??}
          ??else
          ??text.setText(Double.toString(java.lang.Math.sqrt(Double.parseDouble(text.getText()))));
          ??clear=false;
          ??}
          ??
          ??if(temp==diao)
          ??{
          ???
          ???if (text.getText().charAt(0) == '0'&&text.getText().length() == 1)
          ??? {
          ????text.setText("除數不能為零");
          ??? }
          ??else
          ??{
          ??boolean isDec = true;
          ???int i, j, k;
          ???String s = Double.toString(1 / Double.parseDouble(text.getText()));
          ???for (i = 0; i < s.length(); i++)
          ???if (s.charAt(i) == '.')
          ???break;
          ???for (j = i + 1; j < s.length(); j++)
          ???if (s.charAt(j) != '0')
          ???{
          ???isDec = false;
          ???break;
          ???}
          ???if (isDec == true)
          ???{
          ???String stemp = "";
          ???for (k = 0; k < i; k++)
          ????stemp += s.charAt(k);
          ????text.setText(stemp);
          ???}
          ???else
          ???text.setText(s);
          ???}
          ?
          ????clear=false;
          ??}
          ??if(temp==qiuyi)
          ??{
          ???text.setText("0");
          ???clear=false;
          ??}
          ??if (temp == fu)
          ??{ //導師,此方法參考書中例子
          ???boolean isNumber = true;
          ???String s = text.getText();
          ???for (int i = 0; i < s.length(); i++)
          ???if (! (s.charAt(i) >= '0' && s.charAt(i) <= '9' || s.charAt(i) == '.' ||
          ???s.charAt(i) == '-'))
          ??????? {
          ?????isNumber = false;
          ?????break;
          ?????}
          ???if (isNumber == true)
          ??? {
          ???//如果當前字符串首字母有'-'號,代表現在是個負數,再按下時,則將首符號去掉
          ?????if (s.charAt(0) == '-')
          ?????{
          ?????text.setText("");
          ?????for (int i = 1; i < s.length(); i++)
          ???????? {
          ???????char a = s.charAt(i);
          ???????text.setText(text.getText() + a);
          ???????? ??}
          ?????}
          ??????//如果當前字符串第一個字符不是符號,則添加一個符號在首字母處
          ???else
          ???text.setText('-' + s);
          ???}
          ??}
          ??
          ?}
          ?catch(Exception eee)
          ?{
          ??System.out.println("運算時,首先輸入數字或字符");
          ??text.setText("運算出錯");
          ??clear=false;
          ?}
          ??
          ??
          ??
          ?}

          ?

          ?class WindowDestroyer extends WindowAdapter
          ?{//退出窗口動作
          ??public void windowClosing(WindowEvent e)
          ??{
          ??System.exit(0);
          ??}
          ?}
          ?
          class objConversion
          {//導師,本進制類參考了CSMD類轉換例子
          ?
          ?public void objConversion ()
          ?{
          ?}
          ?
          ?public String decDec (int decNum)
          ?{//10
          ??
          ??String strDecNum = Integer.toString(decNum);
          ??
          ??for (int i = strDecNum.length(); i < 3; i++)
          ??{
          ???strDecNum = "0" + strDecNum;
          ??}
          ??
          ?//?return strDecNum;
          ??return invert (strDecNum, 5);
          ??
          ?}
          ?
          ?public String decHex (int decNum)
          ?{//10 to 16
          ??
          ??String strHexNum = "";
          ??int currentNum = 0;
          ??
          ??while (decNum != 0)
          ??{
          ???
          ???if (decNum > 15)
          ???{
          ????
          ????currentNum = decNum % 16;
          ????decNum /= 16;
          ????
          ???}
          ???else
          ???{
          ????
          ????currentNum = decNum;
          ????decNum = 0;
          ????
          ???}
          ???
          ???switch (currentNum)
          ???{
          ????
          ????case 15:?strHexNum += "F";
          ???????break;
          ????case 14:?strHexNum += "E";
          ???????break;
          ????case 13:?strHexNum += "D";
          ???????break;
          ????case 12:?strHexNum += "C";
          ???????break;
          ????case 11:?strHexNum += "B";
          ???????break;
          ????case 10:?strHexNum += "A";
          ???????break;
          ????default:?strHexNum += Integer.toString(currentNum);
          ???????break;
          ???????
          ???}
          ???
          ??}
          ???
          ??return invert (strHexNum, 2);
          ???
          ?}
          ??
          ?public String decOct (int decNum)
          ?{//10 to 8
          ??
          ??String strOctNum = "";
          ??
          ??while (decNum != 0)
          ??{
          ???
          ???if (decNum > 7)
          ???{
          ????
          ????strOctNum += Integer.toString(decNum % 8);
          ????decNum /= 8;
          ????
          ???}
          ???else
          ???{
          ????
          ????strOctNum += Integer.toString(decNum);
          ????decNum = 0;
          ????
          ???}
          ???
          ??}
          ??
          ??return invert (strOctNum, 3);
          ??
          ?}
          ?
          ?public String decBin (int decNum)
          ?{//10 to 2
          ??
          ??String strBinNum = "";
          ??
          ??while (decNum != 0)
          ??{
          ???
          ???if (decNum > 1)
          ???{
          ????
          ????strBinNum += Integer.toString(decNum % 2);
          ????decNum /= 2;
          ????
          ???}
          ???else
          ???{
          ????
          ????strBinNum += Integer.toString(decNum);
          ????decNum = 0;
          ????
          ???}
          ???
          ??}
          ??
          ??return invert (strBinNum, 8);
          ??
          ?}
          ?
          ?private String invert (String strNum, int minLength) //轉換長度
          ?{??
          ??
          ??String answer = "";
          ??int length = strNum.length();
          ??
          ??if (length < minLength)
          ??{
          ???
          ???for (int padding = (minLength - length); padding > 0; padding--)
          ???{
          ????answer += "0";
          ???}
          ???
          ??}
          ??
          ??for (int i = length; i > 0; i--)
          ??{
          ???answer += strNum.charAt (i - 1);
          ??}
          ??
          ??return answer;
          ??
          ?}
          ?
          }
          ?
          ?
          ?public static void main(String arg[])//產生窗口
          ?{
          ??calculator win = new calculator();?
          ??win.setVisible(true);
          ?}


          }


          FeedBack:
          # re: 比較完整的Java計算器
          2008-05-22 23:36 | 老鼠
          很不錯,完整的計算器  回復  更多評論
            
          # re: 比較完整的Java計算器
          2008-06-21 13:47 | 唐敏
          因為是個初學者,所以對于這個程序,還有很多看不太懂的地方,但是我們老師要求能夠正確的分析這個程序的代碼,有好多函數我都不認識,你能分析一下嗎  回復  更多評論
            
          # re: 比較完整的Java計算器
          2008-11-22 21:15 | sjr
          有好多的BUG啊 例如連加  回復  更多評論
            
          # re: 比較完整的Java計算器[未登錄]
          2008-11-26 19:59 | java愛好者
          BUG太多了 改天我給你上傳份我寫的
          基本的運算是可以正確的 但是去余拿塊有問題
          還有你里面一些邏輯上的東西 也是出錯的
          好多東西沒考慮到 估計得重寫
          但你地方法寫的很好
          我可以用下 呵呵  回復  更多評論
            
          # re: 比較完整的Java計算器
          2008-12-08 21:13 | stan
          @java愛好者
          BUG太多了 小數點處理不好,連續按運算符就算錯了。
          比如不打0直接打 .不能顯示 0.
          輸入第二個運算數時,不能輸入小數。
          多符號運算時 ,按兩下運算符就出錯了。
          我寫的兩百多行,都比你的完善多了
          有興趣找我82703869  回復  更多評論
            
          # re: 比較完整的Java計算器
          2009-06-23 15:01 | 過路人
          就是布局差了點  回復  更多評論
            
          # re: 比較完整的Java計算器
          2010-06-07 23:21 | gl
          有問題???、有Java方面的專家可以聊的話加Q 328518397  回復  更多評論
            
          # re: 比較完整的Java計算器[未登錄]
          2010-12-29 09:39 | kay
          能別改天么@java愛好者
            回復  更多評論
            
          # re: 比較完整的Java計算器
          2013-01-04 10:56 | waimaolh
          主站蜘蛛池模板: 中山市| 新余市| 越西县| 沙河市| 奉新县| 墨脱县| 祁东县| 灵寿县| 徐州市| 邹城市| 岳池县| 中江县| 紫金县| 彝良县| 台东县| 蒙自县| 铜梁县| 民勤县| 崇信县| 荔浦县| 尤溪县| 邮箱| 阜康市| 澄迈县| 呼伦贝尔市| 望都县| 鲁山县| 和政县| 宁陵县| 双江| 许昌市| 博湖县| 浙江省| 郴州市| 库车县| 麻阳| 六安市| 巫溪县| 清水县| 南华县| 措勤县|