初步想 独自做 一个 计算器的 项目。
但是开始就觉得不知道怎么做了:
关键是都不知道怎么累计 ,比如我打击 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);
}
}
}
}这只是 每个按钮的 监听器。
但是开始就觉得不知道怎么做了:
关键是都不知道怎么累计 ,比如我打击 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);
}
}
}
}这只是 每个按钮的 监听器。
解决方案 »
- 连接MYSQL数据库问题
- double类型的问题
- 用JMF拍照并在本地硬盘中保存遇到的问题
- 如何使用Swing 截取指定屏幕大小并转换为图片存取?不监听键盘(可以监听butten或者其他组件)。
- 奇怪的事情啊 大家来看看 100分
- j2ee的基础的问题!
- 一个关于form enctype='multipart/form-data' 的问题
- 如何设置netBeans3.5.1的项目的编译后的class文件的输出目录?
- 100分解决文件流问题
- 有没有在成都愿意一起做手机软件开发的朋友(兼职)请联系我[email protected]
- 一个关于AWTUtilities.setWindowOpaque的问题。
- 关于线程 对象锁的问题
public void setTextValue(String str){
et.append(str); //et表示文本框中的内容
}
输入时按字符串形式这样输入
最后再转换成double类型进行计算