java计算器程序加编辑帮助_这里有个JAVA计算器的小程序,希望帮忙加下注释,少许修改...
該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
希望能幫忙注釋,按鈕的大小也不一樣,排版很不整齊,小數點部分計算總是出錯,我認為是輸入數據為String型的原因,但不知道怎么修改。。如能就這兩點作出改動,感激不盡
import?java.awt.*;
import?javax.swing.*;
import?java.awt.event.*;
class?Counter?extends?WindowAdapter
{
static?JFrame?f=new?JFrame("計算器");
static?JTextField?text1=new?JTextField("0.");
static?String?source="";
static?String?cal="";
static?String?object="";
static?boolean?flag=false;
static?boolean?flag1=true;
static?boolean?flag2=false;
public?void?init()
{
try
{
Container?c=f.getContentPane();
JPanel?pan1=new?JPanel();
JButton?b1=new?JButton("1");
JButton?b2=new?JButton("2");
JButton?b3=new?JButton("3");
JButton?b4=new?JButton("4");
JButton?b5=new?JButton("5");
JButton?b6=new?JButton("6");
JButton?b7=new?JButton("7");
JButton?b8=new?JButton("8");
JButton?b9=new?JButton("9");
JButton?b0=new?JButton("0");
JButton?b11=new?JButton("+");
JButton?b12=new?JButton("-");
JButton?b13=new?JButton("*");
JButton?b14=new?JButton("/");
JButton?b15=new?JButton(".");
JButton?b16=new?JButton("=");
JButton?bclar=new?JButton("C");
JButton?bbc=new?JButton("Backspace");
text1.setHorizontalAlignment(JTextField.RIGHT);
c.add(text1,"North");
c.add(pan1);
A?aa=new?A();
Result?re=new?Result();
Opertion?op=new?Opertion();
Clar?cl=new?Clar();
Backspace?bc=new?Backspace();
b1.addActionListener(aa);
b2.addActionListener(aa);
b3.addActionListener(aa);
b4.addActionListener(aa);
b5.addActionListener(aa);
b6.addActionListener(aa);
b7.addActionListener(aa);
b8.addActionListener(aa);
b9.addActionListener(aa);
b0.addActionListener(aa);
b11.addActionListener(op);
b12.addActionListener(op);
b13.addActionListener(op);
b14.addActionListener(op);
b16.addActionListener(re);
b15.addActionListener(aa);
bclar.addActionListener(cl);
bbc.addActionListener(bc);
pan1.add(b1);
pan1.add(b2);
pan1.add(b3);
pan1.add(b11);
pan1.add(b4);
pan1.add(b5);
pan1.add(b6);
pan1.add(b12);
pan1.add(b7);
pan1.add(b8);
pan1.add(b9);
pan1.add(b13);
pan1.add(b0);
pan1.add(b15);
pan1.add(b16);
pan1.add(b14);
pan1.add(bclar);
pan1.add(bbc);
f.setSize(200,220);
f.setVisible(true);
}
catch(Exception?e)
{
System.out.println(e.getMessage());
}
}
class?A?implements?ActionListener
{
public?void?actionPerformed(ActionEvent?e)
{
String?a=text1.getText();
String?s=e.getActionCommand();
if(a.equals("0.")||a.equals("+")||a.equals("-")||a.equals("*")||a.equals("/"))
text1.setText(s);
else?{
if(flag2)
{
text1.setText(s);
flag2=false;
}
else
text1.setText(a+s);
}
}
}
class?Opertion?implements?ActionListener
{
public?void?actionPerformed(ActionEvent?e)
{
cal=e.getActionCommand();
if(flag1==true)
source=text1.getText();
text1.setText(cal);
flag1=false;
flag=true;
}
}
class?Result?implements?ActionListener
{
public?void?actionPerformed(ActionEvent?e)
{
double?num1;
num1=Double.parseDouble(source);
object=text1.getText();
double?num2;
num2=Double.parseDouble(object);
double?result=0;
if(cal.equals("+"))
result=num1+num2;
if(cal.equals("-"))
result=num1-num2;
if(cal.equals("*"))
result=num1*num2;
if(cal.equals("/"))
if(num2==0)
text1.setText("除數不能為0");
else
result=num1/num2;
String?s1=Double.toString(result);
text1.setText(s1);
flag1=true;
flag2=true;
}
}
class?Clar?implements?ActionListener
{
public?void?actionPerformed(ActionEvent?e)
{
text1.setText("0.");
}
}
class?Backspace?implements?ActionListener
{
public?void?actionPerformed(ActionEvent?e)
{
String?s=text1.getText();
char[]?s1=s.toCharArray();
if(s.length()>=2)
{
String?s2=new?String(s1,0,s.length()-1);
text1.setText(s2);
}
}
}
public?static?void?main(String[]?args)
{
Counter?count=new?Counter();
f.setResizable(false);
count.init();
}
public?void?windowClosing(WindowEvent?e){
System.exit(1);
}
public?void?windowOpened(WindowEvent?e){}
public?void?windowIconified(WindowEvent?e){}
public?void?windowDeiconified(WindowEvent?e){}
public?void?windowClosed(WindowEvent?e){}
public?void?windowActivated(WindowEvent?e){}
public?void?windowDeactivated(WindowEvent?e){}
}
總結
以上是生活随笔為你收集整理的java计算器程序加编辑帮助_这里有个JAVA计算器的小程序,希望帮忙加下注释,少许修改...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 空语句_Java空语句怎么写才
- 下一篇: 5 java中的集合类_java基础(5