java编写计算器
2018-07-20 来源:open-open
import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; class Courser implements ActionListener{ private JFrame jf=new JFrame("newComputer"); private JTextField jte=new JTextField(); private Icon icon=new ImageIcon("A:"+File.separator+"b.jpg"); private JLabel jl=new JLabel(icon); private JButton j0,j1,j2,j3,j4,j5,j6,j7,j8,j9,j11,j12,j13,j14,j15,j16,j17,j18; private Double w=0.0; private String s1=""; private Double d1=0.0; private String s2=""; private Double d2=0.0; private String s3=""; private Double d3=0.0; private boolean boo1=false; private boolean boo2=false; private boolean boo3=false; public Courser(){ this.Jbutton(); this.Setsize(); jf.add(jl); jf.add(jte); jf.add(j1); jf.add(j2); jf.add(j3); jf.add(j4); jf.add(j5); jf.add(j6); jf.add(j7); jf.add(j8); jf.add(j9); jf.add(j0); jf.add(j11); jf.add(j12); jf.add(j13); jf.add(j14); jf.add(j15); jf.add(j16); jf.add(j17); jf.add(j18); jf.setVisible(true); } public void Setsize(){ jte.setText("0.0"); jf.setLayout(null); jte.setEnabled(false); jte.setHorizontalAlignment(JTextField.RIGHT); jf.setSize(390,350); jl.setSize(390, 350); jte.setBounds(10, 10, 350, 40); j1.setBounds(10, 60, 80, 40); j2.setBounds(100, 60, 80, 40); j3.setBounds(190, 60, 80, 40); j11.setBounds(280, 60, 80, 40); j4.setBounds(10, 110, 80, 40); j5.setBounds(100, 110, 80, 40); j6.setBounds(190, 110, 80, 40); j12.setBounds(280, 110, 80, 40); j7.setBounds(10, 160, 80, 40); j8.setBounds(100, 160, 80, 40); j9.setBounds(190, 160, 80, 40); j13.setBounds(280, 160, 80, 40); j0.setBounds(10, 210, 80, 40); j18.setBounds(100, 210, 80, 40); j17.setBounds(190, 210, 80, 40); j14.setBounds(280, 210, 80, 40); j15.setBounds(10, 260, 170, 40); j16.setBounds(190, 260, 170, 40); } public void Jbutton(){ j0=JB("0"); j1=JB("1"); j2=JB("2"); j3=JB("3"); j4=JB("4"); j5=JB("5"); j6=JB("6"); j7=JB("7"); j8=JB("8"); j9=JB("9"); j11=JB("+"); j13=JB("*"); j14=JB("/"); j15=JB("backspace"); j16=JB("c"); j17=JB("="); j18=JB("."); } public JButton JB(String s){ JButton jbu=new JButton(s); jbu.addActionListener(this); return jbu; } public void actionPerformed(ActionEvent e) { JButton b=(JButton)e.getSource(); if(Double.parseDouble(jte.getText())==0.0){ boo1=false; } if(b==j1||b==j2||b==j3||b==j4||b==j5||b==j6||b==j7||b==j8||b==j9){/ if(boo2==false){ // if(boo1){ // s1+=b.getText(); // jte.setText(jte.getText()+b.getText()); // }else{ // if(boo3){ // boo3=false; // s1+=b.getText(); // jte.setText(jte.getText()+b.getText()); // }else{ // s1=b.getText(); // jte.setText(s1); // boo1=true; // } // } // }if(boo2==true){ // if(boo1){ // s2+=b.getText(); // jte.setText(s2); // }else{ // if(boo3){ // boo3=false; // s2+=b.getText(); // jte.setText(s2); // }else{ // s2=b.getText(); // jte.setText(s2); // boo1=true; // } // } // }if("="==s3){ // boo2=false; // s1=""; // s2=""; // } // } if(b==j0){ if(boo2==false){ if(boo1){ s1+=b.getText(); jte.setText(jte.getText()+b.getText()); }else{ s1=b.getText(); jte.setText("0"); } }if(boo2==true){ if(boo1){ s2+=b.getText(); jte.setText(s2); }else{ s2=b.getText(); jte.setText("0.0"); } }if("="==s3){ boo2=false; s1=""; s2=""; } } if(b==j18){ if("="==s3){ boo2=false; s1=""; s2=""; } if(boo2==false){ if(s1!=""){ if(!(s1.contains("."))){ s1+=b.getText(); jte.setText(s1); boo3=true; } } } if(boo2==true){ if(s2!=""){ if(!(s2.contains("."))){ s2+=b.getText(); jte.setText(s2); boo3=true; } } } } if(b==j11||b==j12||b==j13||b==j14||b==j17){ if(s1!=""&&s2==""){ boo2=true; } if(s2!=""){ d1=Double.parseDouble(s1); d2=Double.parseDouble(s2); char c=s3.charAt(0); switch (c){ case'+':{ d3=d1+d2; break; } case'-':{ d3=d1-d2; break; } case'*':{ d3=d1*d2; break; } case'/':{ d3=d1/d2; break; } } jte.setText(""+d3); s1=""+d3; s2=""; } s3=b.getText(); } if(b==j16){ s1="0.0"; s2="0.0"; d1=0.0; d2=0.0; jte.setText("0.0") ; } if(b==j15){ if(boo2==false){ if(jte.getText().length()==1){ s1="0.0"; s2="0.0"; d1=0.0; d2=0.0; jte.setText("0.0"); }else{ s1=jte.getText().substring(0, jte.getText().length()-1); jte.setText(jte.getText().substring(0, jte.getText().length()-1)); } }else{ if(jte.getText().length()==1){ s2="0.0"; d2=0.0; jte.setText("0.0"); }else{ s2=jte.getText().substring(0, jte.getText().length()-1); jte.setText(jte.getText().substring(0, jte.getText().length()-1)); } } } } } public class NewCom { public static void main(String[] args) { new Courser(); } }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
上一篇:IOS把图片切成小片
下一篇:C++算法之单向链表
最新资讯
热门推荐