整数版计算器
2013-11-23 23:08
288 查看
package aa;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Calculator1 extends JFrame implements ActionListener {
private JTextField m_textField = new JTextField(12);
private JButton[] m_button = { new JButton("1"), new JButton("2"),
new JButton("3"), new JButton("4"), new JButton("5"),
new JButton("6"), new JButton("7"), new JButton("8"),
new JButton("9"), new JButton("0"), new JButton("+"),
new JButton("-"), new JButton("*"), new JButton("/"),
new JButton("."), new JButton("="), new JButton("C") };
public Calculator1() {
super("Calculator");
Container container = getContentPane();
container.setLayout(new FlowLayout(FlowLayout.CENTER));
container.add(m_textField);
for (int i = 0; i <= 16; i++) {
container.add(m_button[i]);
m_button[i].addActionListener(this);
}
setSize(200, 200);
setVisible(true);
}
int flag;
double value1, value2, result;//
public void actionPerformed(ActionEvent e) {
int i;
for (i = 0; i < 10; i++) {
if (e.getSource() == m_button[i]) {
String value = String.valueOf((i + 1) % 10);
m_textField.setText(m_textField.getText() + value);
}
}
if (e.getSource() == m_button[10]) //
{
flag = 1;
value1 = Double.parseDouble(m_textField.getText());//
m_textField.setText(""); //
} else if (e.getSource() == m_button[11]) //
{
flag = 2;
value1 = Double.parseDouble(m_textField.getText());
m_textField.setText("");
} else if (e.getSource() == m_button[12])//
{
flag = 3;
value1 = Double.parseDouble(m_textField.getText());
m_textField.setText("");
} else if (e.getSource() == m_button[13]) //
{
flag = 4;
value1 = Double.parseDouble(m_textField.getText());
m_textField.setText("");
} else if (e.getSource() == m_button[15]) // =
{
value2 = Double.parseDouble(m_textField.getText()); //
if (flag == 1)
result = value1 + value2;
else if (flag == 2)
result = value1 - value2;
else if (flag == 3)
result = value1 * value2;
else if (flag == 4) {
if (value2 != 0)
result = value1 / value2;
else
result = 0;
}
String r = String.valueOf(result);
m_textField.setText(r);
} else if (e.getSource() == m_button[14]) // .
{
boolean b = true;// whether exists '.'
String r = m_textField.getText();//
for (int j = 0; j < r.length(); j++) {
if (r.charAt(j) == ".".charAt(0)){
b = false;
}
}
if (b){
m_textField.setText(m_textField.getText() + ".");
}
} else if (e.getSource() == m_button[16]) //
m_textField.setText("");
}
public static void main(String args[]) {
Calculator1 app = new Calculator1();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Calculator1 extends JFrame implements ActionListener {
private JTextField m_textField = new JTextField(12);
private JButton[] m_button = { new JButton("1"), new JButton("2"),
new JButton("3"), new JButton("4"), new JButton("5"),
new JButton("6"), new JButton("7"), new JButton("8"),
new JButton("9"), new JButton("0"), new JButton("+"),
new JButton("-"), new JButton("*"), new JButton("/"),
new JButton("."), new JButton("="), new JButton("C") };
public Calculator1() {
super("Calculator");
Container container = getContentPane();
container.setLayout(new FlowLayout(FlowLayout.CENTER));
container.add(m_textField);
for (int i = 0; i <= 16; i++) {
container.add(m_button[i]);
m_button[i].addActionListener(this);
}
setSize(200, 200);
setVisible(true);
}
int flag;
double value1, value2, result;//
public void actionPerformed(ActionEvent e) {
int i;
for (i = 0; i < 10; i++) {
if (e.getSource() == m_button[i]) {
String value = String.valueOf((i + 1) % 10);
m_textField.setText(m_textField.getText() + value);
}
}
if (e.getSource() == m_button[10]) //
{
flag = 1;
value1 = Double.parseDouble(m_textField.getText());//
m_textField.setText(""); //
} else if (e.getSource() == m_button[11]) //
{
flag = 2;
value1 = Double.parseDouble(m_textField.getText());
m_textField.setText("");
} else if (e.getSource() == m_button[12])//
{
flag = 3;
value1 = Double.parseDouble(m_textField.getText());
m_textField.setText("");
} else if (e.getSource() == m_button[13]) //
{
flag = 4;
value1 = Double.parseDouble(m_textField.getText());
m_textField.setText("");
} else if (e.getSource() == m_button[15]) // =
{
value2 = Double.parseDouble(m_textField.getText()); //
if (flag == 1)
result = value1 + value2;
else if (flag == 2)
result = value1 - value2;
else if (flag == 3)
result = value1 * value2;
else if (flag == 4) {
if (value2 != 0)
result = value1 / value2;
else
result = 0;
}
String r = String.valueOf(result);
m_textField.setText(r);
} else if (e.getSource() == m_button[14]) // .
{
boolean b = true;// whether exists '.'
String r = m_textField.getText();//
for (int j = 0; j < r.length(); j++) {
if (r.charAt(j) == ".".charAt(0)){
b = false;
}
}
if (b){
m_textField.setText(m_textField.getText() + ".");
}
} else if (e.getSource() == m_button[16]) //
m_textField.setText("");
}
public static void main(String args[]) {
Calculator1 app = new Calculator1();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
相关文章推荐
- cocos2dx CallfuncN方法使用
- STM8l 15x系列固件库及帮助文件下载地址
- STM8l 15x系列固件库及帮助文件下载地址
- 简单类的继承(二)
- 黑马程序员_毕向东_Java基础视频教程学习笔记(二十三)
- 汇编/C/C++/MFC/JAVA/C# 进阶群103197177
- 人总是会变的
- 一个面试题:翻转句子中单词的顺序
- SDL在pc上的安装与移植
- Brief Intro to Object Subscripting of Foundation Framework
- 一个面试题:翻转句子中单词的顺序
- FrameworkElement.Name与x:Name
- IT之人生感悟
- 放鸡蛋问题
- 黑马程序员——反射
- 中国互联网产业的50个细分领域
- (work and tools)ubuntu更新后virtualbox无法启动
- 设计模式之适配器模式
- Python String和PyQt QString的区别(转载)
- python3.3 学习