我要做一个实现加减乘除的简单的计算器,现在先不考虑小数点。我做的算出来的结果是错的,不知道怎么改,哪位大哥帮我改一下,要求在我的基础上改,不要改变我的原意,结果正确的一定重谢。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.lang.String.*;
public class calculator
{
public static void main(String[] args)
{
ButtonFrame frame = new ButtonFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}class ButtonFrame extends JFrame
{
public ButtonFrame()
{
setTitle("calculator");
setSize(WIDTH,HEIGHT);
ButtonPanel panel=new ButtonPanel();
Container contentPane=getContentPane();
contentPane.add(panel);
setResizable(false);
}
public static final int WIDTH=300;
public static final int HEIGHT=300;
}class ButtonPanel extends JPanel
{
int result=0;
int num1=0;
static int j=0;
static int i=1;
JTextArea area=null;
int a[]=new int[100];
String b[]=new String [50];
public ButtonPanel()
{
for (int s=0;s<100;s++)
{
a[s]=0;
}
for(int t=0;t<50;t++)
{
b[t]="+";
}
area=new JTextArea(1,25);
area.setEditable(false);
JScrollPane pane=new JScrollPane(area);
add(pane);
System.out.println();
JButton Button0=new JButton("0");
JButton Button1=new JButton("1");
JButton Button2=new JButton("2");
JButton Button3=new JButton("3");
JButton Button4=new JButton("4");
JButton Button5=new JButton("5");
JButton Button6=new JButton("6");
JButton Button7=new JButton("7");
JButton Button8=new JButton("8");
JButton Button9=new JButton("9");
JButton Button10=new JButton("vc");
JButton Button11=new JButton("+");
JButton Button12=new JButton("-");
JButton Button13=new JButton("*");
JButton Button14=new JButton("/");
JButton Button15=new JButton("=");
add(Button0);
add(Button1);
add(Button2);
add(Button3);
add(Button4);
add(Button5);
add(Button6);
add(Button7);
add(Button8);
add(Button9);
add(Button10);
add(Button11);
add(Button12);
add(Button13);
add(Button14);
add(Button15); ButtonActionA ButtonAction0=new ButtonActionA("0");
ButtonActionA ButtonAction1=new ButtonActionA("1");
ButtonActionA ButtonAction2=new ButtonActionA("2");
ButtonActionA ButtonAction3=new ButtonActionA("3");
ButtonActionA ButtonAction4=new ButtonActionA("4");
ButtonActionA ButtonAction5=new ButtonActionA("5");
ButtonActionA ButtonAction6=new ButtonActionA("6");
ButtonActionA ButtonAction7=new ButtonActionA("7");
ButtonActionA ButtonAction8=new ButtonActionA("8");
ButtonActionA ButtonAction9=new ButtonActionA("9");
ButtonActionD ButtonAction10=new ButtonActionD("0");
ButtonActionB ButtonAction11=new ButtonActionB("+");
ButtonActionB ButtonAction12=new ButtonActionB("-");
ButtonActionB ButtonAction13=new ButtonActionB("*");
ButtonActionB ButtonAction14=new ButtonActionB("/");
ButtonActionC ButtonAction15=new ButtonActionC("=");
Button0.addActionListener(ButtonAction0);
Button1.addActionListener(ButtonAction1);
Button2.addActionListener(ButtonAction2);
Button3.addActionListener(ButtonAction3);
Button4.addActionListener(ButtonAction4);
Button5.addActionListener(ButtonAction5);
Button6.addActionListener(ButtonAction6);
Button7.addActionListener(ButtonAction7);
Button8.addActionListener(ButtonAction8);
Button9.addActionListener(ButtonAction9);
Button10.addActionListener(ButtonAction10);
Button11.addActionListener(ButtonAction11);
Button12.addActionListener(ButtonAction12);
Button13.addActionListener(ButtonAction13);
Button14.addActionListener(ButtonAction14);
Button15.addActionListener(ButtonAction15);
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
area.setText(ButtonText);
System.out.println();
}
private class ButtonActionA implements ActionListener //
{
public ButtonActionA(String text)
{
clicktext = text;
}
public void actionPerformed(ActionEvent event)
{
//ButtonText=clicktext;
//repaint();
/*int count=0;
if (count==0)
{
ButtonText=clicktext;
rapain();
count++;
}
if()*/
////
num1=(num1*10)+Integer.parseInt(clicktext);
ButtonText =new String(num1+"");
a[i]=num1;
i++;
repaint();
String string=ButtonText;
if(string.startsWith("0"))
{
ButtonText=clicktext;
}
if (! ButtonText.matches("^\\d"))
{ //这样也可以判断
ButtonText = ButtonText.replaceAll("^\\D*", "");
}
}
private String clicktext="0";
}
public String ButtonText="0";
private class ButtonActionB implements ActionListener//Ӽ˳
{
public ButtonActionB(String text)
{
clicktext = text;
}
public void actionPerformed(ActionEvent event)
{
ButtonText=clicktext;
repaint();
b[j]=clicktext;
j++;
num1=0;
}
private String clicktext="0";
}
private class ButtonActionC implements ActionListener//
{
public ButtonActionC(String text)
{
clicktext = text;
}
public void actionPerformed(ActionEvent event)
{
if(b[j-1]=="+")
{
result=a[i-1]+a[i-2];
}
if(b[j-1]=="-")
{
result=a[i-1]-a[i-2];
}
if(b[j-1]=="*")
{
result=a[i-1]*a[i-2];
}
if(b[j-1]=="/")
{
result=a[i-1]/a[i-2];
}
num1=0;
a[i]=result;
i++;
ButtonText=new String(result+"");
repaint();
}
//ButtonText=new String("0"+"");
private String clicktext="0";
}
private class ButtonActionD implements ActionListener//
{
public ButtonActionD(String text)
{
clicktext = text;
}
public void actionPerformed(ActionEvent event)
{
for (int m=0;m<100;m++)
{
a[m]=0;
}
for(int n=0;n<50;n++)
{
b[n]="+";
}
result=0;
ButtonText="0";
repaint();
}
}
private String clicktext="0";
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.lang.String.*;
public class calculator
{
public static void main(String[] args)
{
ButtonFrame frame = new ButtonFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}class ButtonFrame extends JFrame
{
public ButtonFrame()
{
setTitle("calculator");
setSize(WIDTH,HEIGHT);
ButtonPanel panel=new ButtonPanel();
Container contentPane=getContentPane();
contentPane.add(panel);
setResizable(false);
}
public static final int WIDTH=300;
public static final int HEIGHT=300;
}class ButtonPanel extends JPanel
{
int result=0;
int num1=0;
static int j=0;
static int i=1;
JTextArea area=null;
int a[]=new int[100];
String b[]=new String [50];
public ButtonPanel()
{
for (int s=0;s<100;s++)
{
a[s]=0;
}
for(int t=0;t<50;t++)
{
b[t]="+";
}
area=new JTextArea(1,25);
area.setEditable(false);
JScrollPane pane=new JScrollPane(area);
add(pane);
System.out.println();
JButton Button0=new JButton("0");
JButton Button1=new JButton("1");
JButton Button2=new JButton("2");
JButton Button3=new JButton("3");
JButton Button4=new JButton("4");
JButton Button5=new JButton("5");
JButton Button6=new JButton("6");
JButton Button7=new JButton("7");
JButton Button8=new JButton("8");
JButton Button9=new JButton("9");
JButton Button10=new JButton("vc");
JButton Button11=new JButton("+");
JButton Button12=new JButton("-");
JButton Button13=new JButton("*");
JButton Button14=new JButton("/");
JButton Button15=new JButton("=");
add(Button0);
add(Button1);
add(Button2);
add(Button3);
add(Button4);
add(Button5);
add(Button6);
add(Button7);
add(Button8);
add(Button9);
add(Button10);
add(Button11);
add(Button12);
add(Button13);
add(Button14);
add(Button15); ButtonActionA ButtonAction0=new ButtonActionA("0");
ButtonActionA ButtonAction1=new ButtonActionA("1");
ButtonActionA ButtonAction2=new ButtonActionA("2");
ButtonActionA ButtonAction3=new ButtonActionA("3");
ButtonActionA ButtonAction4=new ButtonActionA("4");
ButtonActionA ButtonAction5=new ButtonActionA("5");
ButtonActionA ButtonAction6=new ButtonActionA("6");
ButtonActionA ButtonAction7=new ButtonActionA("7");
ButtonActionA ButtonAction8=new ButtonActionA("8");
ButtonActionA ButtonAction9=new ButtonActionA("9");
ButtonActionD ButtonAction10=new ButtonActionD("0");
ButtonActionB ButtonAction11=new ButtonActionB("+");
ButtonActionB ButtonAction12=new ButtonActionB("-");
ButtonActionB ButtonAction13=new ButtonActionB("*");
ButtonActionB ButtonAction14=new ButtonActionB("/");
ButtonActionC ButtonAction15=new ButtonActionC("=");
Button0.addActionListener(ButtonAction0);
Button1.addActionListener(ButtonAction1);
Button2.addActionListener(ButtonAction2);
Button3.addActionListener(ButtonAction3);
Button4.addActionListener(ButtonAction4);
Button5.addActionListener(ButtonAction5);
Button6.addActionListener(ButtonAction6);
Button7.addActionListener(ButtonAction7);
Button8.addActionListener(ButtonAction8);
Button9.addActionListener(ButtonAction9);
Button10.addActionListener(ButtonAction10);
Button11.addActionListener(ButtonAction11);
Button12.addActionListener(ButtonAction12);
Button13.addActionListener(ButtonAction13);
Button14.addActionListener(ButtonAction14);
Button15.addActionListener(ButtonAction15);
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
area.setText(ButtonText);
System.out.println();
}
private class ButtonActionA implements ActionListener //
{
public ButtonActionA(String text)
{
clicktext = text;
}
public void actionPerformed(ActionEvent event)
{
//ButtonText=clicktext;
//repaint();
/*int count=0;
if (count==0)
{
ButtonText=clicktext;
rapain();
count++;
}
if()*/
////
num1=(num1*10)+Integer.parseInt(clicktext);
ButtonText =new String(num1+"");
a[i]=num1;
i++;
repaint();
String string=ButtonText;
if(string.startsWith("0"))
{
ButtonText=clicktext;
}
if (! ButtonText.matches("^\\d"))
{ //这样也可以判断
ButtonText = ButtonText.replaceAll("^\\D*", "");
}
}
private String clicktext="0";
}
public String ButtonText="0";
private class ButtonActionB implements ActionListener//Ӽ˳
{
public ButtonActionB(String text)
{
clicktext = text;
}
public void actionPerformed(ActionEvent event)
{
ButtonText=clicktext;
repaint();
b[j]=clicktext;
j++;
num1=0;
}
private String clicktext="0";
}
private class ButtonActionC implements ActionListener//
{
public ButtonActionC(String text)
{
clicktext = text;
}
public void actionPerformed(ActionEvent event)
{
if(b[j-1]=="+")
{
result=a[i-1]+a[i-2];
}
if(b[j-1]=="-")
{
result=a[i-1]-a[i-2];
}
if(b[j-1]=="*")
{
result=a[i-1]*a[i-2];
}
if(b[j-1]=="/")
{
result=a[i-1]/a[i-2];
}
num1=0;
a[i]=result;
i++;
ButtonText=new String(result+"");
repaint();
}
//ButtonText=new String("0"+"");
private String clicktext="0";
}
private class ButtonActionD implements ActionListener//
{
public ButtonActionD(String text)
{
clicktext = text;
}
public void actionPerformed(ActionEvent event)
{
for (int m=0;m<100;m++)
{
a[m]=0;
}
for(int n=0;n<50;n++)
{
b[n]="+";
}
result=0;
ButtonText="0";
repaint();
}
}
private String clicktext="0";
}
解决方案 »
- 关于JTextArea,setText(String)其中String需要用线程控制1秒显示一个字符
- 问下 数据类型 整型 字符型 字符串型 之间的关系
- 两个下拉菜单若先选择第二个则提示必须先选择第一个
- mouseMove事件经常出问题,大家有遇到过吗??求救。
- 关于求处理图形问题
- if(rs2.next()==false)这句有错误吗。。为什么if里面的代码执行不了。。rs2没有查询到结果
- Hibernate 自动生成主键问题.走过路过的帮忙看看,谢谢!!
- Java高手,请教一个小问题?
- 一个java代码大家看看错在哪?调试了很久~~~~郁闷!!
- 小弟初学java,请问各位我们平常说的JDK和J2SDK各是什么意思,有何区别???
- java的二进制文件操作问题
- Java与Oracle连接出现异常
import java.awt.event.*;
import javax.swing.*;public class calculator {
public static void main(String[] args) {
ButtonFrame frame = new ButtonFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// frame.show();
// 过时了
frame.setVisible(true);
}
}class ButtonFrame extends JFrame { private static final long serialVersionUID = 1L; public ButtonFrame() {
setTitle("calculator");
setSize(WIDTH, HEIGHT);
ButtonPanel panel = new ButtonPanel();
Container contentPane = getContentPane();
contentPane.add(panel);
setResizable(false);
} public static final int WIDTH = 300;
public static final int HEIGHT = 300;
}class ButtonPanel extends JPanel { private static final long serialVersionUID = 1L;
int result = 0;
int num1 = 0;
static int j = 0;
static int i = 1;
JTextArea area = null;
int a[] = new int[100];
String b[] = new String[50]; public ButtonPanel() { for (int s = 0; s < 100; s++) {
a[s] = 0;
} for (int t = 0; t < 50; t++) {
b[t] = "+";
} area = new JTextArea(1, 25);
area.setEditable(false);
JScrollPane pane = new JScrollPane(area);
add(pane);
System.out.println();
JButton Button0 = new JButton("0");
JButton Button1 = new JButton("1");
JButton Button2 = new JButton("2");
JButton Button3 = new JButton("3");
JButton Button4 = new JButton("4");
JButton Button5 = new JButton("5");
JButton Button6 = new JButton("6");
JButton Button7 = new JButton("7");
JButton Button8 = new JButton("8");
JButton Button9 = new JButton("9");
JButton Button10 = new JButton("vc");
JButton Button11 = new JButton("+");
JButton Button12 = new JButton("-");
JButton Button13 = new JButton("*");
JButton Button14 = new JButton("/");
JButton Button15 = new JButton("=");
add(Button0);
add(Button1);
add(Button2);
add(Button3);
add(Button4);
add(Button5);
add(Button6);
add(Button7);
add(Button8);
add(Button9);
add(Button10);
add(Button11);
add(Button12);
add(Button13);
add(Button14);
add(Button15); ButtonActionA ButtonAction0 = new ButtonActionA("0");
ButtonActionA ButtonAction1 = new ButtonActionA("1");
ButtonActionA ButtonAction2 = new ButtonActionA("2");
ButtonActionA ButtonAction3 = new ButtonActionA("3");
ButtonActionA ButtonAction4 = new ButtonActionA("4");
ButtonActionA ButtonAction5 = new ButtonActionA("5");
ButtonActionA ButtonAction6 = new ButtonActionA("6");
ButtonActionA ButtonAction7 = new ButtonActionA("7");
ButtonActionA ButtonAction8 = new ButtonActionA("8");
ButtonActionA ButtonAction9 = new ButtonActionA("9");
ButtonActionD ButtonAction10 = new ButtonActionD("0");
ButtonActionB ButtonAction11 = new ButtonActionB("+");
ButtonActionB ButtonAction12 = new ButtonActionB("-");
ButtonActionB ButtonAction13 = new ButtonActionB("*");
ButtonActionB ButtonAction14 = new ButtonActionB("/");
ButtonActionC ButtonAction15 = new ButtonActionC("=");
Button0.addActionListener(ButtonAction0);
Button1.addActionListener(ButtonAction1);
Button2.addActionListener(ButtonAction2);
Button3.addActionListener(ButtonAction3);
Button4.addActionListener(ButtonAction4);
Button5.addActionListener(ButtonAction5);
Button6.addActionListener(ButtonAction6);
Button7.addActionListener(ButtonAction7);
Button8.addActionListener(ButtonAction8);
Button9.addActionListener(ButtonAction9);
Button10.addActionListener(ButtonAction10);
Button11.addActionListener(ButtonAction11);
Button12.addActionListener(ButtonAction12);
Button13.addActionListener(ButtonAction13);
Button14.addActionListener(ButtonAction14);
Button15.addActionListener(ButtonAction15); } public void paintComponent(Graphics g) {
super.paintComponent(g);
area.setText(ButtonText);
System.out.println();
} private class ButtonActionA implements ActionListener //
{
public ButtonActionA(String text) {
clicktext = text;
} public void actionPerformed(ActionEvent event) {
// ButtonText=clicktext;
// repaint();
/*
* int count=0; if (count==0) { ButtonText=clicktext; rapain();
* count++; } if()
*/ // //
num1 = (num1 * 10) + Integer.parseInt(clicktext); ButtonText = new String(num1 + "");
a[i] = num1;
i++;
repaint();
String string = ButtonText;
if (string.startsWith("0")) {
ButtonText = clicktext;
}
if (!ButtonText.matches("^\\d")) { // 这样也可以判断
ButtonText = ButtonText.replaceAll("^\\D*", "");
} } private String clicktext = "0";
} public String ButtonText = "0"; private class ButtonActionB implements ActionListener// Ӽ˳
{
public ButtonActionB(String text) {
clicktext = text;
} public void actionPerformed(ActionEvent event) { ButtonText = clicktext;
repaint();
b[j] = clicktext;
j++;
num1 = 0; } private String clicktext = "0";
} private class ButtonActionC implements ActionListener//
{
public ButtonActionC(String text) {
clicktext = text;
} public void actionPerformed(ActionEvent event) { if (b[j - 1] == "+") {
result = a[i - 1] + a[i - 2];
}
if (b[j - 1] == "-") {
result = a[i - 1] - a[i - 2];
}
if (b[j - 1] == "*") {
result = a[i - 1] * a[i - 2];
}
if (b[j - 1] == "/") {
result = a[i - 1] / a[i - 2]; }
num1 = 0;
a[i] = result;
i++;
ButtonText = new String(result + "");
repaint(); } // ButtonText=new String("0"+"");
@SuppressWarnings("unused")
private String clicktext = "0"; } private class ButtonActionD implements ActionListener//
{
public ButtonActionD(String text) {
clicktext = text;
} public void actionPerformed(ActionEvent event) {
for (int m = 0; m < 100; m++) {
a[m] = 0;
}
for (int n = 0; n < 50; n++) {
b[n] = "+";
}
result = 0;
ButtonText = "0"; repaint(); }
} @SuppressWarnings("unused")
private String clicktext = "0";
}一步计算都没错的!你连续计算就会错,你没有连续计算的方法!
import java.awt.event.*;
import javax.swing.*;public class Calculator extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
private JTextField txtResult;
private JButton btnZero, btnOne, btnTwo, btnThree, btnFour, btnFive,
btnSix, btnSeven, btnEight, btnNine, btnPlus, btnMinus, btnTimes,
btnDivided, btnEqual, btnPoint, btnC, btnCE, btnSqrt, btnPlusMinus;
int z;
double x, y;
StringBuffer str; public Calculator() {
super("计算器");
this.setSize(311, 231);
this.setLocation(300, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setLayout(new GridLayout(1, 1));// 网格布局
JPanel panel = new JPanel(new GridLayout(6, 1));// 面板 网格布局6行1列
this.add(panel); txtResult = new JTextField("0");
Color BackColor = new Color(255, 255, 255);
Color ForeColor = new Color(0, 0, 0);
txtResult.setBackground(BackColor);
txtResult.setForeground(ForeColor); panel.add(txtResult);
txtResult.setHorizontalAlignment(JTextField.RIGHT);
txtResult.setEnabled(false);
// text.setEnabled(true); JPanel panel_1 = new JPanel(new GridLayout(1, 4));
panel.add(panel_1); btnSqrt = new JButton("sqrt");
panel_1.add(btnSqrt);
btnSqrt.addActionListener(this);
btnPlusMinus = new JButton("+/-");
panel_1.add(btnPlusMinus);
btnPlusMinus.addActionListener(this);
btnCE = new JButton("CE");
panel_1.add(btnCE);
btnCE.addActionListener(this);
btnC = new JButton("C");
panel_1.add(btnC);
btnC.addActionListener(this); JPanel panel_2 = new JPanel(new GridLayout(1, 4));
panel.add(panel_2); btnSeven = new JButton("7");
panel_2.add(btnSeven);
btnSeven.addActionListener(this);
btnEight = new JButton("8");
panel_2.add(btnEight);
btnEight.addActionListener(this);
btnNine = new JButton("9");
panel_2.add(btnNine);
btnNine.addActionListener(this);
btnDivided = new JButton("/");
panel_2.add(btnDivided);
btnDivided.addActionListener(this); JPanel panel_3 = new JPanel(new GridLayout(1, 4));
panel.add(panel_3); btnFour = new JButton("4");
panel_3.add(btnFour);
btnFour.addActionListener(this);
btnFive = new JButton("5");
panel_3.add(btnFive);
btnFive.addActionListener(this);
btnSix = new JButton("6");
panel_3.add(btnSix);
btnSix.addActionListener(this);
btnTimes = new JButton("*");
panel_3.add(btnTimes);
btnTimes.addActionListener(this); JPanel panel_4 = new JPanel(new GridLayout(1, 4));
panel.add(panel_4); btnOne = new JButton("1");
panel_4.add(btnOne);
btnOne.addActionListener(this);
btnTwo = new JButton("2");
panel_4.add(btnTwo);
btnTwo.addActionListener(this);
btnThree = new JButton("3");
panel_4.add(btnThree);
btnThree.addActionListener(this);
btnMinus = new JButton("-");
panel_4.add(btnMinus);
btnMinus.addActionListener(this); JPanel panel_5 = new JPanel(new GridLayout(1, 4));
panel.add(panel_5); btnZero = new JButton("0");
panel_5.add(btnZero);
btnZero.addActionListener(this);
btnPoint = new JButton(".");
panel_5.add(btnPoint);
btnPoint.addActionListener(this);
btnEqual = new JButton("=");
panel_5.add(btnEqual);
btnEqual.addActionListener(this);
btnPlus = new JButton("+");
panel_5.add(btnPlus);
btnPlus.addActionListener(this); str = new StringBuffer(); this.setVisible(true); } public void windowClosing(WindowEvent a) {
System.exit(0);
} public void actionPerformed(ActionEvent e) { try {
if (e.getSource() == btnC) {
txtResult.setText("0");
str.setLength(0);
} else if (e.getSource() == btnCE) {
txtResult.setText("0.");
str.setLength(0);
} else if (e.getSource() == btnPlusMinus) {
x = Double.parseDouble(txtResult.getText().trim());
txtResult.setText("" + (-x));
} else if (e.getSource() == btnPlus) {
x = Double.parseDouble(txtResult.getText().trim());
str.setLength(0);
y = 0d;
z = 1;
} else if (e.getSource() == btnMinus) {
x = Double.parseDouble(txtResult.getText().trim());
str.setLength(0);
y = 0d;
z = 2;
} else if (e.getSource() == btnTimes) {
x = Double.parseDouble(txtResult.getText().trim());
str.setLength(0);
y = 0d;
z = 3;
} else if (e.getSource() == btnDivided) {
x = Double.parseDouble(txtResult.getText().trim());
str.setLength(0);
y = 0d;
z = 4;
} else if (e.getSource() == btnEqual) {
str.setLength(0);
switch (z) {
case 1:
txtResult.setText("" + (x + y));
break;
case 2:
txtResult.setText("" + (x - y));
break;
case 3:
txtResult.setText("" + (x * y));
break;
case 4:
txtResult.setText("" + (x / y));
break;
}
} else if (e.getSource() == btnPoint) {
if (txtResult.getText().trim().indexOf('.') != -1)// 判断字符串中是否已经包含了小数点
{ } else// 如果没数点有小
{
if (txtResult.getText().trim().equals("0"))// 如果初时显示为0
{
str.setLength(0);
txtResult.setText((str.append("0"
+ e.getActionCommand())).toString());
} else if (txtResult.getText().trim().equals(""))// 如果初时显示为空则不做任何操作
{
} else {
txtResult.setText(str.append(e.getActionCommand())
.toString());
}
} y = 0d;
} else if (e.getSource() == btnSqrt)// 求平方根
{
x = Double.parseDouble(txtResult.getText().trim());
txtResult.setText("数字格式异常");
if (x < 0)
txtResult.setText("负数没有平方根");
else
txtResult.setText("" + Math.sqrt(x));
str.setLength(0);
y = 0d;
} else if (e.getSource() == btnZero)// 如果选择的是"0"这个数字键
{
if (txtResult.getText().trim().equals("0"))// 如果显示屏显示的为零不做操作
{
} else {
txtResult.setText(str.append(e.getActionCommand())
.toString());
y = Double.parseDouble(txtResult.getText().trim());
}
} else// 其他的数字键
{
txtResult.setText(str.append(e.getActionCommand()).toString());
y = Double.parseDouble(txtResult.getText().trim());
}
} catch (NumberFormatException ae) {
txtResult.setText("数字格式异常");
} catch (StringIndexOutOfBoundsException ae) {
txtResult.setText("字符串索引越界");
} } public static void main(String arg[]) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
e.printStackTrace();
}
new Calculator();
}}
LZ可以参考下~
http://debugs.tk/
想知道为什么就联系我