JAVA课程设计--简易计算器. 求源代码.

设计要求:设计的计算器应用程序是基于AWT的,可以完成加法,减法,乖法,除法和取余运算。 不需要很复杂..简单就好.. 但是一定要满足上面的设计要求..求大神给答案啊..好了会加分..

import javax.swing.*;//新的窗口组件包
import java.awt.*;
import java.awt.event.*;
public class Jisuanqi implements ActionListener
{ JFrame jf=new JFrame();
boolean dotExist, operated, equaled; // 帮助运算的布尔变量
double result; // 目前的结果
char lastOperator; // 表示上一运算符
JTextField jtf; // 显示栏
JButton dot, plus, minus, multi, div, sqrt, equal, change, clear,quyu; // 运算符
JButton[] numbers;
Panel p=new Panel();
// 构造者
public Jisuanqi()
{
jf.setTitle("陈巳伟牌计算器");
// 初始化变量
dotExist = false; // 表示当前的数是否有小数点
operated = false; // 表示任意运算符是否被按下
equaled = false; // 表示等号是否被按下
result = 0;
lastOperator = '?';
// 初始化窗口变量
jtf = new JTextField("0");
jtf.setEditable(false); //设置文本框的可编辑性
jf.setSize(250,200);
jf.setVisible(true);
numbers = new JButton[10];
for (int i = 0; i < 10; i++)
numbers[i] = new JButton("" + i);
dot = new JButton(".");
plus = new JButton("+");
minus = new JButton("-");

multi = new JButton("*");
div = new JButton("/");
sqrt = new JButton("√");
equal = new JButton("=");
change= new JButton("±");
clear = new JButton("NC");
quyu=new JButton("%");

p.setLayout(new GridLayout(5,4));
p.add(numbers[1]);
p.add(numbers[2]);
p.add(numbers[3]);
p.add(plus);
p.add(numbers[4]);
p.add(numbers[5]);
p.add(numbers[6]);
p.add(minus);
p.add(numbers[7]);
p.add(numbers[8]);
p.add(numbers[9]);
p.add(multi);
p.add(dot);
p.add(numbers[0]);
p.add(sqrt);
p.add(div);
p.add(equal);
p.add(change);
p.add(clear);
p.add(quyu);
jf.add(jtf,BorderLayout.NORTH);
jf.add(p,BorderLayout.CENTER);
numbers[0].addActionListener(this);
numbers[1].addActionListener(this);
numbers[2].addActionListener(this);
numbers[3].addActionListener(this);
plus.addActionListener(this);
numbers[4].addActionListener(this);
numbers[5].addActionListener(this);
numbers[6].addActionListener(this);
minus.addActionListener(this);
numbers[7].addActionListener(this);
numbers[8].addActionListener(this);
numbers[9].addActionListener(this);
multi.addActionListener(this);
dot.addActionListener(this);
sqrt.addActionListener(this);
div.addActionListener(this);
equal.addActionListener(this);
change.addActionListener(this);
clear.addActionListener(this);
quyu.addActionListener(this);

}
// 对按钮进行反应的方法
public void actionPerformed(ActionEvent e)
{
JButton btn = (JButton)e.getSource();
if (btn == clear)
{
jtf.setText("0");
dotExist = false;
operated = false;
equaled = false;
result = 0;
lastOperator = '?';
}
else if (btn == equal)
{
operate('=');
equaled = true;
}
else if (btn == plus)
{
operate('+');
equaled = false;
}
else if (btn == minus)
{
operate('-');
equaled = false;
}
else if (btn == multi)
{
operate('*');
equaled = false;
}
else if (btn == div)
{
operate('/');
equaled = false;
}
else if (btn==quyu){
operate('%');
equaled=false;
}
else if (btn == change)
{
operate('p');
operate('=');
equaled = true;
}
else if (btn == sqrt)
{
operate('s');
operate('=');
equaled = true;
}
else
{
if (equaled)
result = 0;
for (int i = 0; i < 10; i++)
if (btn == numbers[i])
{
if (jtf.getText().equals("0"))
jtf.setText("" + i);
else if(! operated)
jtf.setText(jtf.getText() + i);
else
{
jtf.setText("" + i);
operated = false;
}
}
if (btn == dot && ! dotExist)
{
jtf.setText(jtf.getText() + ".");

}
}
}
// 进行运算的方法
private void operate(char operator)
{
double currentNumber = Double.valueOf(jtf.getText()).doubleValue();
if (lastOperator == '?')
result = currentNumber;
else if (lastOperator == '+')
result += currentNumber;
else if (lastOperator == '-')
result -= currentNumber;
else if (lastOperator == '*')
result *= currentNumber;
else if (lastOperator == '/')
result /= currentNumber;
else if(lastOperator=='%')
result %=currentNumber;
else if (lastOperator == 'p')
result *= -1;
else if (lastOperator == 's')
result = Math.sqrt(currentNumber);
else if (lastOperator == '=' && equaled)
result = currentNumber;
jtf.setText("" + result);
operated = true;
lastOperator = operator;
}

public static void main(String[] args)
{new Jisuanqi();<br> <br> }
}
温馨提示:内容为网友见解,仅供参考
无其他回答

用JAVA编写的科学计算器源代码
以下是一个简单的用Java编写的科学计算器的源代码示例:java import java.util.Scanner;public class ScientificCalculator { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);System.out.println("Welcome to the Scientific Calculator!");System.out.println("Ente...

java课程设计题目及代码是什么?
1、题目:计算器。设计内容是设计一个图形界面(GUI)的计算器应用程序,完成简单的算术运算。设计要求是设计的计算器应用程序可以完成家法、减法、乘法、除法和取余运算。且有小数点、正负号、求倒数、退格和清零功能。2、代码:数字按钮NumberButton类如下:import java.awt.import java.awt.event.import...

求Java编的简单计算器源代码
package edu.hpu.yyf;import java.awt.*;import java.awt.event.*;public class MyCalculator { private static double d1 = 0.0;private static double d2 = 0.0;private static String s1 = new String("0");private static String s2 = new String("0");private static char c1 ='0'...

JAVA课程设计计算器的源代码
System.out.println("打开系统的计算器出错"); } } if(temp==about) { JOptionPane.showMessageDialog(frame," Java计算器\\n 杨彩 制作\\n\\n http:\/\/blog.sina.com.cn\/m\/yangcai","关于计算器",JOptionPane.INFORMATION_MESSAGE); ; } if(temp==me) { try { Process p = Runtime.getRuntime().e...

java计算器源代码
} private void initComponents() { jPanel1 = new javax.swing.JPanel();jLabel1 = new javax.swing.JLabel();jLabel2 = new javax.swing.JLabel();jLabel3 = new javax.swing.JLabel();num1 = new javax.swing.JTextField();num2 = new javax.swing.JTextField();result = new javax...

求一计算器java代码,最好简单一点(图形界面)
Frame fm = new Frame("简单计算器"); for (int i = 0; i <= 16; i++) { b[i] = new Button(ss[i]); } for (int i = 0; i <= 15; i++) { p2.add(b[i]); } \/\/创建按钮 并添加到P2 b[16].setBackground(Color.yellow); txt = new TextField(15); txt.setEditable(fal...

用JAVA编写的科学计算器源代码
\/\/计算器数字按钮定义面板 class Number_Key extends JPanel { JButton zero = new JButton("0");\/\/数字键0 JButton one = new JButton("1");\/\/数字键1 JButton two = new JButton("2");\/\/数字键2 JButton three = new JButton("3");\/\/数字键3 JButton four = new JButton("4"...

求JAVA编写的 简易计算器程序,附上注释
1、首先准备好软件即eclipse和java,下载安装完成后打开eclipse。2、点击左上角的file 新建一个project。3、给project取一个名字,其他的选项都是默认然后点击finish。4、接下来是新建一个class。5、在给class取名字的时候注意用英文名的首字母要大写。完成后点击finish。6、这就是开始写代码的工作台,将...

求一个简洁java计算器代码
import java.awt.event.*;import javax.swing.*; \/\/引入所需要的包 class MyFrame extends JFrame implements ActionListener{ private JButton b1,b2,b3,b4,b5,b6;private TextField t1,t2,t3; \/\/定义六个按钮和三个文本域 public MyFrame(String s){ super(s);b1=new JButton("加"...

用java编得计算器程序软件和源代码
java计算器源程序java计算器import java.awt.*; import javax.swing.*; import java.awt.event.*; class calculation extends JFrame {public calculation() \/*构造方法*\/ {super("计数器"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); initTextPanel(); \/*文本框*\/ initControlPanel(); ...

相似回答