觉得好菜鸟的,求 给 计算器的 思路。
初步想 独自做 一个 计算器的 项目。
但是开始就觉得不知道怎么做了:
关键是都不知道怎么累计 ,比如我打击 2 ,都是2 ,不会变成 22.. 大侠给个思路给我好不好。
我想单独做完。。谢谢了
package com.calculator;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
public class MyAdapter extends KeyAdapter implements ActionListener {
private String previousValue = "0"; // 文本框初始状态为 0
private boolean flag = false; // 用于标记输入的第一个数是否为 0(当第一次输入不为 0
// 时要作为第一个数,进而累加;否则都显示为 0).
public MyAdapter(String value) {
super();
if (!flag) {
if (!"o".equals(value)) {
flag = true;
previousValue = value;
}
} else {
previousValue += value;
}
}
@Override
public void keyPressed(KeyEvent e) { // 键盘输入.
for (int i = 0; i < previousValue.length(); i++) {
if (!Character.isDigit(previousValue.charAt(i))) {
Calculator.textField.setText("您的输入非法!");
} else {
Calculator.textField.setText(previousValue);
}
}
}
@Override
public void actionPerformed(ActionEvent e) { // 鼠标点击.
for (int i = 0; i < previousValue.length(); i++) {
if (!Character.isDigit(previousValue.charAt(i))) {
Calculator.textField.setText("您的输入非法!");
} else {
Calculator.textField.setText(previousValue);
}
}
}
}
这只是 每个按钮的 监听器。
[解决办法]
public void setTextValue(String str){
et.append(str); //et表示文本框中的内容
}