<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    楊彩的Java博客
    醉里挑燈看劍,夢(mèng)里吹雨聽(tīng)風(fēng).仗劍獨(dú)走天涯,試問(wèn)誰(shuí)與爭(zhēng)鋒!
    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寫(xiě)成Frame,這個(gè)錯(cuò)誤找了好久
    ?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("計(jì)算器-楊彩制作");
    ??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("十六進(jìn)制");
    ??sixteen.setVisible(false);
    ??ten=new JRadioButton("十進(jìn)制",true);
    ??ten.setVisible(false);
    ??eight=new JRadioButton("八進(jìn)制");
    ??eight.setVisible(false);?
    ??two=new JRadioButton("二進(jìn)制");
    ??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(" 復(fù)制");
    ??paste = new JMenuItem(" 粘貼");
    ??KeyStroke copyks=KeyStroke.getKeyStroke(KeyEvent.VK_C,Event.CTRL_MASK);
    ? ??copy.setAccelerator(copyks);//設(shè)置退出菜單選項(xiàng)加上快捷鍵
    ? ??KeyStroke pasteks=KeyStroke.getKeyStroke(KeyEvent.VK_V,Event.CTRL_MASK);
    ? ??paste.setAccelerator(pasteks);//設(shè)置退出菜單選項(xiàng)加上快捷鍵
    ??editMenu.add(copy);
    ??editMenu.add(paste);
    ??copy.addActionListener(this);
    ??paste.addActionListener(this);
    ??
    ??t = new JMenuItem("●標(biāo)準(zhǔn)型");
    ??s = new JMenuItem("?? 科學(xué)型");
    ??viewMenu.add(t);
    ??viewMenu.add(s);
    ??t.addActionListener(this);
    ??s.addActionListener(this);
    ????
    ??help = new JMenuItem(" 幫助主題");
    ??about = new JMenuItem(" 關(guān)于計(jì)算器");
    ??me = new JMenuItem(" 作者主頁(yè)");
    ??helpMenu.add(help);
    ??helpMenu.add(about);?
    ??helpMenu.add(me);
    ??help.addActionListener(this);
    ??about.addActionListener(this);
    ??me.addActionListener(this);
    ??
    ??

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


    ?
    ?public void actionPerformed(ActionEvent e)
    ?
    ?{//響應(yīng)動(dòng)作代碼
    ??
    ??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)
    ??{//標(biāo)準(zhǔn)
    ???
    ???sixteen.setVisible(false);
    ???ten.setVisible(false);
    ???eight.setVisible(false);
    ???two.setVisible(false);
    ???t.setText("●標(biāo)準(zhǔn)型");
    ???s.setText("??? 科學(xué)型");
    ???aa.setVisible(false);
    ???bb.setVisible(false);
    ???cc.setVisible(false);
    ???dd.setVisible(false);
    ???ee.setVisible(false);
    ???ff.setVisible(false);
    ??}
    ??if(temp==s)
    ??{//科學(xué)
    ???
    ???sixteen.setVisible(true);
    ???ten.setVisible(true);
    ???eight.setVisible(true);
    ???two.setVisible(true);
    ???t.setText("?? 標(biāo)準(zhǔn)型");
    ???s.setText("●科學(xué)型");
    ???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)
    ??{ //打開(kāi)系統(tǒng)幫助文件 要查資料
    ???try
    ???{
    ???? String filePath = "C:/WINDOWS/Help/calc.chm";
    ????? Runtime.getRuntime().exec("cmd.exe /c "+filePath);

    ???
    ???}
    ???catch(Exception eeee)
    ???{
    ????System.out.println("打開(kāi)系統(tǒng)的計(jì)算器出錯(cuò)");????
    ???}
    ??}
    ??if(temp==about)
    ??{
    ???JOptionPane.showMessageDialog(frame,"????? Java計(jì)算器\n????? 楊彩 制作\n\n ??}
    ??if(temp==me)
    ??{
    ???try
    ???{
    ????Process p = Runtime.getRuntime().exec("explorer
    ???}
    ???catch(Exception eeee)
    ???{
    ????System.out.println("打開(kāi)指定網(wǎng)頁(yè)出錯(cuò)");????
    ???}?
    ??}
    ??
    ??
    ??try
    ??{
    ??if(temp==sixteen)
    ??{
    ???String hex=text.getText();
    ???int inthex=Integer.parseInt(hex,jin);//先把數(shù)變?yōu)?0進(jìn)制??
    ???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));? //本句會(huì)把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("轉(zhuǎn)換出錯(cuò),可能你沒(méi)有輸入任何字符");
    ???text.setText("轉(zhuǎn)換出錯(cuò)");
    ???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)//判斷是否點(diǎn)擊了符號(hào)位
    ????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;
    ???} //第一層判斷是否里面含有小數(shù)點(diǎn);
    ????
    ????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;//要清空前一次的數(shù)據(jù)
    ????;
    ????
    ???}
    ???
    ???if(temp==kai)
    ???{ ???
    ??String s = text.getText();
    ??if (s.charAt(0) == '-')
    ??{
    ???text.setText("負(fù)數(shù)不能開(kāi)根號(hào)");
    ??}
    ??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("除數(shù)不能為零");
    ??? }
    ??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)
    ??{ //導(dǎo)師,此方法參考書(shū)中例子
    ???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)
    ??? {
    ???//如果當(dāng)前字符串首字母有'-'號(hào),代表現(xiàn)在是個(gè)負(fù)數(shù),再按下時(shí),則將首符號(hào)去掉
    ?????if (s.charAt(0) == '-')
    ?????{
    ?????text.setText("");
    ?????for (int i = 1; i < s.length(); i++)
    ???????? {
    ???????char a = s.charAt(i);
    ???????text.setText(text.getText() + a);
    ???????? ??}
    ?????}
    ??????//如果當(dāng)前字符串第一個(gè)字符不是符號(hào),則添加一個(gè)符號(hào)在首字母處
    ???else
    ???text.setText('-' + s);
    ???}
    ??}
    ??
    ?}
    ?catch(Exception eee)
    ?{
    ??System.out.println("運(yùn)算時(shí),首先輸入數(shù)字或字符");
    ??text.setText("運(yùn)算出錯(cuò)");
    ??clear=false;
    ?}
    ??
    ??
    ??
    ?}

    ?

    ?class WindowDestroyer extends WindowAdapter
    ?{//退出窗口動(dòng)作
    ??public void windowClosing(WindowEvent e)
    ??{
    ??System.exit(0);
    ??}
    ?}
    ?
    class objConversion
    {//導(dǎo)師,本進(jìn)制類(lèi)參考了CSMD類(lèi)轉(zhuǎn)換例子
    ?
    ?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) //轉(zhuǎn)換長(zhǎng)度
    ?{??
    ??
    ??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[])//產(chǎn)生窗口
    ?{
    ??calculator win = new calculator();?
    ??win.setVisible(true);
    ?}


    }


    FeedBack:
    # re: 比較完整的Java計(jì)算器
    2008-05-22 23:36 | 老鼠
    很不錯(cuò),完整的計(jì)算器  回復(fù)  更多評(píng)論
      
    # re: 比較完整的Java計(jì)算器
    2008-06-21 13:47 | 唐敏
    因?yàn)槭莻€(gè)初學(xué)者,所以對(duì)于這個(gè)程序,還有很多看不太懂的地方,但是我們老師要求能夠正確的分析這個(gè)程序的代碼,有好多函數(shù)我都不認(rèn)識(shí),你能分析一下嗎  回復(fù)  更多評(píng)論
      
    # re: 比較完整的Java計(jì)算器
    2008-11-22 21:15 | sjr
    有好多的BUG啊 例如連加  回復(fù)  更多評(píng)論
      
    # re: 比較完整的Java計(jì)算器[未登錄](méi)
    2008-11-26 19:59 | java愛(ài)好者
    BUG太多了 改天我給你上傳份我寫(xiě)的
    基本的運(yùn)算是可以正確的 但是去余拿塊有問(wèn)題
    還有你里面一些邏輯上的東西 也是出錯(cuò)的
    好多東西沒(méi)考慮到 估計(jì)得重寫(xiě)
    但你地方法寫(xiě)的很好
    我可以用下 呵呵  回復(fù)  更多評(píng)論
      
    # re: 比較完整的Java計(jì)算器
    2008-12-08 21:13 | stan
    @java愛(ài)好者
    BUG太多了 小數(shù)點(diǎn)處理不好,連續(xù)按運(yùn)算符就算錯(cuò)了。
    比如不打0直接打 .不能顯示 0.
    輸入第二個(gè)運(yùn)算數(shù)時(shí),不能輸入小數(shù)。
    多符號(hào)運(yùn)算時(shí) ,按兩下運(yùn)算符就出錯(cuò)了。
    我寫(xiě)的兩百多行,都比你的完善多了
    有興趣找我82703869  回復(fù)  更多評(píng)論
      
    # re: 比較完整的Java計(jì)算器
    2009-06-23 15:01 | 過(guò)路人
    就是布局差了點(diǎn)  回復(fù)  更多評(píng)論
      
    # re: 比較完整的Java計(jì)算器
    2010-06-07 23:21 | gl
    有問(wèn)題???、有Java方面的專(zhuān)家可以聊的話(huà)加Q 328518397  回復(fù)  更多評(píng)論
      
    # re: 比較完整的Java計(jì)算器[未登錄](méi)
    2010-12-29 09:39 | kay
    能別改天么@java愛(ài)好者
      回復(fù)  更多評(píng)論
      
    # re: 比較完整的Java計(jì)算器
    2013-01-04 10:56 | waimaolh
    主站蜘蛛池模板: 你懂的在线免费观看| 亚洲欧洲日产国码高潮αv| 久久WWW免费人成—看片| 亚洲videosbestsex日本| 亚洲日韩精品A∨片无码| 全部免费国产潢色一级| 成年女人视频网站免费m| 3d成人免费动漫在线观看| 好吊色永久免费视频大全 | 91免费福利视频| 国产天堂亚洲精品| 国产成人亚洲精品| 亚洲男人的天堂在线| 亚洲va中文字幕无码久久| 久久亚洲精品无码播放| www.亚洲精品| 国产一区二区三区在线观看免费| 中文字幕无码不卡免费视频| 91高清免费国产自产| 日韩人妻无码精品久久免费一| 99久久成人国产精品免费 | 免费二级毛片免费完整视频| 永久免费av无码网站大全| 成全影视免费观看大全二| 毛片免费在线视频| 好爽…又高潮了毛片免费看| 西西大胆无码视频免费| 黄页网站免费观看| 亚洲第一成年免费网站| 天天摸夜夜摸成人免费视频| 成人啪精品视频免费网站| 成年性生交大片免费看| 日本免费无遮挡吸乳视频电影| 永久免费看bbb| 亚洲国产精品人人做人人爽| 亚洲国产精品碰碰| 精品久久久久久亚洲| 一出一进一爽一粗一大视频免费的| 在线观看亚洲电影| 四虎一区二区成人免费影院网址| 人妻免费久久久久久久了|