用JAVA学习写了个计算器的小程序有点问题 求高手帮忙解决下问题在哪?

importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassCalculatorPane... import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class CalculatorPanelClass extends JPanel{
private JLabel display;
private JPanel panel;
private double result;
private String lastCommand;
private boolean start;

public CalculatorPanelClass(){
setLayout(new BorderLayout());
result = 0;
lastCommand = "=";
start = true;

display = new JLabel("0",SwingConstants.RIGHT);
display.setForeground(Color.black);

display.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createLineBorder(Color.black),
BorderFactory.createEmptyBorder(5, 5, 5, 5)));

add(display,BorderLayout.NORTH);
ActionListener insert = new InsertAction();
ActionListener command = new CommandAction();

panel = new JPanel();
panel.setLayout(new GridLayout(4,4));

addButton("7",insert);
addButton("8",insert);
addButton("9",insert);
addButton("/",insert);
addButton("4",insert);
addButton("5",insert);
addButton("6",insert);
addButton("*",insert);
addButton("1",insert);
addButton("2",insert);
addButton("3",insert);
addButton("-",insert);
addButton("0",insert);
addButton(".",insert);
addButton("=",insert);
addButton("+",insert);
add(panel,BorderLayout.CENTER);

}
private void addButton(String label,ActionListener listener){
JButton button = new JButton(label);
button.addActionListener(listener);
panel.add(button);
}
private class InsertAction implements ActionListener {
public void actionPerformed(ActionEvent event){
String input = event.getActionCommand();
if (start){
display.setText("");
start = false;
}
display.setText(display.getText()+input);
}
}

private class CommandAction implements ActionListener{
public void actionPerformed(ActionEvent evt){
String command = evt.getActionCommand();
if(start){
lastCommand = command;
}
else{
calculate(Double.parseDouble(display.getText()));
lastCommand = command;
start = true;
}
}
}
public void calculate(double x){
if(lastCommand.equalsIgnoreCase("+")){
result += x;
}
if(lastCommand.equalsIgnoreCase("-")){
result -= x;
}
if(lastCommand.equalsIgnoreCase("*")){
result *= x;
}
if(lastCommand.equalsIgnoreCase("/")){
result /= x;
}
if(lastCommand.equalsIgnoreCase("=")){
result = x;
}
display.setText("" + result);
}

}

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

public class CalculatorFrameClass extends JFrame{//外层窗口类
public CalculatorFrameClass(){
setTitle("Calculator");
Container contentPane = getContentPane();
CalculatorPanelClass panel = new CalculatorPanelClass();
contentPane.add(panel);
setSize(200,200);
setVisible(true);
setResizable(false);
}
}
package 计算器;
import javax.swing.*;
public class TestCalculatorClass {//测试类
public static void main(String[] args){
CalculatorFrameClass frame = new CalculatorFrameClass();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
展开
 我来答
ngc1987
2012-04-14 · TA获得超过290个赞
知道小有建树答主
回答量:134
采纳率:100%
帮助的人:113万
展开全部
看不懂什么问题,还没有注释。楼主还得继续努力
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
两厢遗忘
2012-04-14 · TA获得超过629个赞
知道小有建树答主
回答量:739
采纳率:0%
帮助的人:575万
展开全部
你是问问题还是考验别人的?怎么没见你的问题呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
云中游民
2012-04-20 · TA获得超过602个赞
知道小有建树答主
回答量:697
采纳率:33%
帮助的人:629万
展开全部
问题呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式