欢迎来到【heaven源码】【淮北整站推广源码】【集采平台 源码】用java计算器源码_计算器java源代码-皮皮网网站!!!

皮皮网

【heaven源码】【淮北整站推广源码】【集采平台 源码】用java计算器源码_计算器java源代码-皮皮网 扫描左侧二维码访问本站手机端

【heaven源码】【淮北整站推广源码】【集采平台 源码】用java计算器源码_计算器java源代码

2024-12-24 03:04:39 来源:{typename type="name"/} 分类:{typename type="name"/}

1.用JAVA编写的用j源码a源科学计算器源代码
2.java编写程序:创建一个 计算器 的 界面,包含 0-9 个 数字 ,计计算 A-F个字母,算器采用 GridLayout布局
3.java怎样写一个简单的代码计算器
4.用JAVA编写一个计算器
5.java编一个计算器的代码

用java计算器源码_计算器java源代码

用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("Enter 'add', 'subtract', 'multiply', 'divide', 'sin', 'cos', 'tan', 'log', 'exp', 'sqrt', or 'quit' to exit.");

       while (true) {

       System.out.print("Enter operation (e.g., add 2 3): ");

       String operation = scanner.nextLine();

       if (operation.equalsIgnoreCase("quit")) {

       break;

       }

       String[] parts = operation.split(" ");

       double num1 = Double.parseDouble(parts[1]);

       double num2 = Double.parseDouble(parts[2]);

       switch (parts[0].toLowerCase()) {

       case "add":

       System.out.println(num1 + " + " + num2 + " = " + (num1 + num2));

       break;

       case "subtract":

       System.out.println(num1 + " - " + num2 + " = " + (num1 - num2));

       break;

       case "multiply":

       System.out.println(num1 + " * " + num2 + " = " + (num1 * num2));

       break;

       case "divide":

       if (num2 != 0) {

       System.out.println(num1 + " / " + num2 + " = " + (num1 / num2));

       } else {

       System.out.println("Error: Division by zero is not allowed.");

       }

       break;

       case "sin":

       System.out.println("sin(" + num1 + ") = " + Math.sin(Math.toRadians(num1)));

       break;

       case "cos":

       System.out.println("cos(" + num1 + ") = " + Math.cos(Math.toRadians(num1)));

       break;

       case "tan":

       System.out.println("tan(" + num1 + ") = " + Math.tan(Math.toRadians(num1)));

       break;

       case "log":

       System.out.println("log(" + num1 + ") = " + Math.log(num1));

       break;

       case "exp":

       System.out.println("exp(" + num1 + ") = " + Math.exp(num1));

       break;

       case "sqrt":

       if (num1 >= 0) {

       System.out.println("sqrt(" + num1 + ") = " + Math.sqrt(num1));

       } else {

       System.out.println("Error: Cannot calculate the square root of a negative number.");

       }

       break;

       default:

       System.out.println("Error: Invalid operation.");

       break;

       }

       }

       scanner.close();

       System.out.println("Goodbye!");

       }

       }

       这个科学计算器支持基本的四则运算(加、减、用j源码a源乘、计计算heaven源码除)以及一些科学运算(正弦、算器余弦、代码正切、用j源码a源对数、计计算指数和平方根)。算器用户可以通过输入相应的代码操作和两个数字来执行计算。例如,用j源码a源输入“add 2 3”将计算2加3的计计算结果。

       代码首先导入了`Scanner`类,算器淮北整站推广源码用于从用户处获取输入。然后,在`main`方法中,创建了一个`Scanner`对象,用于读取用户的输入。程序通过一个无限循环来持续接收用户的输入,直到用户输入“quit”为止。集采平台 源码

       在循环中,程序首先提示用户输入一个操作,然后读取用户的输入并将其分割为多个部分。接着,程序将第二个和第三个部分转换为`double`类型的数字,并根据第一个部分(即操作)执行相应的计算。

       程序使用`switch`语句来根据用户输入的寻仙外挂源码操作执行相应的计算。对于基本的四则运算,程序直接执行相应的计算并输出结果。对于科学运算,程序使用了Java的`Math`类中的相应方法。例如,对于正弦运算,程序使用了`Math.sin`方法,车辆头像psd源码并将角度转换为弧度作为参数传递给它。

       如果用户输入了无效的操作或无效

java编写程序:创建一个 计算器 的 界面,包含 0-9 个 数字 , A-F个字母,采用 GridLayout布局

       import java.awt.*;

       import javax.swing.*;

       public class MyCalculator extends JFrame{

        public MyCalculator() {

        String ss1 = "ABCDEF";

        String[] ss2 = { "+","-","*","/","√ ̄","aⁿ","CE","="};//有些字符不在GBK中,所以文本使用了UTF-8编码。如果要用GBK编码,就把字符修改成汉字,比如平方根,乘方

        JPanel jp0;//存放显示的文本框

        JPanel jp1;//存放0~9 A~F

        JPanel jp2;//存放运算符

        //jp0

        jp0 = new JPanel();

        JTextField jtf = new JTextField();

        jtf.setText("0");

        jtf.setHorizontalAlignment(JTextField.RIGHT);//按照惯例,计算器的数字显示在右侧

        jtf.setEditable(false);//按照惯例,计算器显示结果的文本框不许编辑

        jp0.add(jtf);

        JButton jb;//按钮

        //jp1

        jp1 = new JPanel(new GridLayout(4, 4,3,3));

        for (int i = 0; i < ss1.length(); i++) {

        jb = new JButton(ss1.charAt(i)+"");

        jp1.add(jb);

        }

        //jp2

        jp2 = new JPanel(new GridLayout(3, 3,3,3));

        for (int i = 0; i < ss2.length; i++) {

        jb = new JButton(ss2[i]);

        jb.setForeground(Color.BLUE);//为了突出这些运算符,把颜色调整成蓝色

        jp2.add(jb);

        }

        add(jp0);

        add(jp1);

        add(jp2);

        setLayout(new FlowLayout());//把JFrame设置成流式布局

        setTitle("计算器");//设置窗口标题

        setSize(, );//设置窗口大小

        setResizable(false);//设置窗口不许缩放,因为流式布局,缩放会导致布局变化

        setLocationRelativeTo(null);//设置窗口居中

        setDefaultCloseOperation(EXIT_ON_CLOSE);//设置点击关闭退出jvm虚拟机

        setVisible(true);//设置窗口可见

        }

        public static void main(String[] args) {

        new MyCalculator();//创建窗口

        }

       }

java怎样写一个简单的计算器

       以下是一个简单的例子,这个计算器可以执行加、减、乘、除操作:

       import java.util.Scanner;

       public class Calculator {

       public static void main(String[] args) {

       Scanner scanner = new Scanner(System.in);

       System.out.println("Enter first number:");

       double num1 = scanner.nextDouble();

       System.out.println("Enter second number:");

       double num2 = scanner.nextDouble();

       System.out.println("Enter an operator (+, -, *, /):");

       char operator = scanner.next().charAt(0);

       scanner.close();

       double output;

       switch(operator)

       {

       case '+':

       output = num1 + num2;

       break;

       case '-':

       output = num1 - num2;

       break;

       case '*':

       output = num1 * num2;

       break;

       case '/':

       if (num2 != 0) {

       output = num1 / num2;

       } else {

       System.out.println("Error! Dividing by zero is not allowed.");

       return;

       }

       break;

       default:

       System.out.println("Error! Invalid operator. Only +, -, * and / are allowed.");

       return;

       }

       System.out.println("The result is given as follows:");

       System.out.printf("%.1f %c %.1f = %.1f\n", num1, operator, num2, output);

       }

       }

       在这个程序中,我们首先使用Scanner类从用户那里获取两个数字和一个运算符。然后,我们使用switch语句根据运算符执行相应的数学运算。最后,我们输出结果。

用JAVA编写一个计算器

       import java.awt.BorderLayout;

       import java.awt.Color;

       import java.awt.GridLayout;

       import java.awt.event.ActionEvent;

       import java.awt.event.ActionListener;

       import javax.swing.ImageIcon;

       import javax.swing.JButton;

       import javax.swing.JFrame;

       import javax.swing.JPanel;

       import javax.swing.JTextField;

       import javax.swing.SwingConstants;

       public class Jisuanqi extends JFrame implements ActionListener {

       /

**

       *

       */

       private static final long serialVersionUID = 1L;

       Result result = new Result(); // 定义text的面板

       Number_Key number_key = new Number_Key(); // 定义按钮面板

       // 当点击按钮+、-、*、/时,com = true

       boolean com = false;

       // 当i=0时说明是我们第一次输入,字符串text不会累加

       int i = 0;

       // 存放text的内容

       String text = "";

       // 存放点击按钮+、-、*、/之前的数值

       double defbutton = 0;

       // +、-、*、/的代号分别为1,2,3,4

       int symbol = 0;

       // 构造函数

       Jisuanqi() {

       super("WangJiao"); // 设定标题

       setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设定关闭窗体时退出程序

       JPanel pane = new JPanel(); // 定义主面板

       pane.setLayout(new BorderLayout());

       setBounds(, , , ); // 前两个参数是在屏幕上显示的坐标,后两个是大小

       // 替换图标

       ImageIcon icon = new ImageIcon("F:1.GIF");

       // Jisuanqi.class.getResource("APPLE.GIF")

       // );

       setIconImage(icon.getImage());

       pane.add(result, BorderLayout.NORTH);

       pane.add(number_key, BorderLayout.CENTER);

       pane.add(number_key.equal, BorderLayout.SOUTH);

       number_key.one.addActionListener(this); // 对1按钮添加监听事件

       number_key.two.addActionListener(this); // 对2按钮添加监听事件

       number_key.three.addActionListener(this); // 对3按钮添加监听事件

       number_key.four.addActionListener(this); // 对4按钮添加监听事件

       number_key.five.addActionListener(this); // 对5按钮添加监听事件

       number_key.six.addActionListener(this); // 对6按钮添加监听事件

       number_key.seven.addActionListener(this); // 对7按钮添加监听事件

       number_key.eight.addActionListener(this); // 对8按钮添加监听事件

       number_key.nine.addActionListener(this); // 对9按钮添加监听事件

       number_key.zero.addActionListener(this); // 对0按钮添加监听事件

       number_key.ce.addActionListener(this); // 对置零按钮添加监听事件

       number_key.plus.addActionListener(this); // 对+按钮添加监听事件

       number_key.equal.addActionListener(this); // 对=按钮添加监听事件

       number_key.sub.addActionListener(this); // 对-按钮添加监听事件

       number_key.mul.addActionListener(this); // 对*按钮添加监听事件

       number_key.div.addActionListener(this); // 对/按钮添加监听事件

       number_key.point.addActionListener(this); // 对.按钮添加监听事件

       setContentPane(pane);

       pack(); // 初始化窗体大小为正好盛放所有按钮

       }

       // 各个按钮触发的事件

       public void actionPerformed(ActionEvent e) {

       /

*

       * 如果是点击数字按钮那么先要判断是否在此之前点击了+、-、*、/、=,如果是那么com=true 如果没有com=

       * false;或者是否点击数字键,如果是i = 1,如果没有 i = 0;

       */

       if (e.getSource() == number_key.one) {

       if (com || i == 0) {

       result.text.setText("1");

       com = false;

       i = 1;

       } else {

       text = result.text.getText();

       result.text.setText(text + "1");

       }

       } else if (e.getSource() == number_key.two) {

       if (com || i == 0) {

       result.text.setText("2");

       com = false;

       i = 1;

       } else {

       text = result.text.getText();

       result.text.setText(text + "2");

       }

       } else if (e.getSource() == number_key.three) {

       if (com || i == 0) {

       result.text.setText("3");

       com = false;

       i = 1;

       } else {

       text = result.text.getText();

       result.text.setText(text + "3");

       }

       } else if (e.getSource() == number_key.four) {

       if (com || i == 0) {

       result.text.setText("4");

       com = false;

       i = 1;

       } else {

       text = result.text.getText();

       result.text.setText(text + "4");

       }

       } else if (e.getSource() == number_key.five) {

       if (com || i == 0) {

       result.text.setText("5");

       com = false;

       i = 1;

       } else {

       text = result.text.getText();

       result.text.setText(text + "5");

       }

       } else if (e.getSource() == number_key.six) {

       if (com || i == 0) {

       result.text.setText("6");

       com = false;

       i = 1;

       } else {

       text = result.text.getText();

       result.text.setText(text + "6");

       }

       } else if (e.getSource() == number_key.seven) {

       if (com || i == 0) {

       result.text.setText("7");

       com = false;

       i = 1;

       } else {

       text = result.text.getText();

       result.text.setText(text + "7");

       }

       } else if (e.getSource() == number_key.eight) {

       if (com || i == 0) {

       result.text.setText("8");

       com = false;

       i = 1;

       } else {

       text = result.text.getText();

       result.text.setText(text + "8");

       }

       } else if (e.getSource() == number_key.nine) {

       if (com || i == 0) {

       result.text.setText("9");

       com = false;

       i = 1;

       } else {

       text = result.text.getText();

       result.text.setText(text + "9");

       }

       }

       /

*

       * 对于0这个按钮有一定的说法,在我的程序里不会出现如这样的情况,我加了判断条件就是

       * 如果text中的数值=0就要判断在这个数值中是否有.存在?如果有那么就在原来数值基础之上添 加0;否则保持原来的数值不变

       */

       else if (e.getSource() == number_key.zero) { // result.text.getText()是得到text里内容的意思

       if (com || i == 0) {

       result.text.setText("0");

       com = false;

       i = 1;

       } else {

       text = result.text.getText();

       if (Float.parseFloat(text) > 0 || Float.parseFloat(text) < 0) { // Float.parseFloat(text)就是类型转换了,下面都是一样

       result.text.setText(text + "0");

       } else {

       if (text.trim().indexOf(".") == -1) {

       result.text.setText(text);

       } else {

       result.text.setText(text + "0");

       }

       }

       }

       } else if (e.getSource() == number_key.ce) {

       result.text.setText("0");

       i = 0;

       com = true;

       // text = "";

       defbutton = 0;

       }

       /

*

       * 本程序不会让一个数值中出现2个以上的小数点.具体做法是:判断是否已经存在.存在就不添加, 不存在就添加.

       */

       else if (e.getSource() == number_key.point) {

       if (com || i == 0) {

       result.text.setText("0.");

       com = false;

       i = 1;

       } else {

       text = result.text.getText();

       if (text.trim().indexOf(".") == -1) {

       result.text.setText(text + ".");

       } else {

       result.text.setText(text);

       }

       }

       } // 获得点击+之前的数值

       else if (e.getSource() == number_key.plus) {

       com = true;

       i = 0;

       defbutton = Double.parseDouble(result.text.getText());

       symbol = 1;

       } // 获得点击-之前的数值

       else if (e.getSource() == number_key.sub) {

       com = true;

       i = 0;

       defbutton = Double.parseDouble(result.text.getText());

       symbol = 2;

       } // 获得点击*之前的数值

       else if (e.getSource() == number_key.mul) {

       com = true;

       i = 0;

       defbutton = Double.parseDouble(result.text.getText());

       System.out.println(defbutton);

       symbol = 3;

       } // 获得点击/之前的数值

       else if (e.getSource() == number_key.div) {

       com = true;

       i = 0;

       defbutton = Double.parseDouble(result.text.getText());

       symbol = 4;

       } else if (e.getSource() == number_key.equal) {

       switch (symbol) {

       case 1: { // 计算加法

       double ad = defbutton

       + Double.parseDouble(result.text.getText());

       result.text.setText(ad + "");

       i = 0;

       text = "";

       break;

       }

       case 2: { // 计算减法

       double ad = defbutton

       - Double.parseDouble(result.text.getText());

       result.text.setText(String.valueOf(ad));

       i = 0;

       text = "";

       break;

       }

       case 3: { // 计算乘法

       double ad = defbutton

       * Double.parseDouble(result.text.getText());

       result.text.setText(ad + "");

       i = 0;

       text = "";

       break;

       }

       case 4: { // 计算除法

       double ad = defbutton

       / Double.parseDouble(result.text.getText());

       result.text.setText(ad + "");

       i = 0;

       text = "";

       break;

       }

       }

       System.out.println(com);

       }

       System.out.println(result.text.getText());

       }

       @SuppressWarnings("deprecation")

       public static void main(String[] args) {

       Jisuanqi loveyou = new Jisuanqi();

       loveyou.show();

       }

       }

       // 计算器数字按钮定义面板

       class Number_Key extends JPanel {

       /

**

       *

       */

       private static final long serialVersionUID = 1L;

       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"); // 数字键4

       JButton five = new JButton("5"); // 数字键5

       JButton six = new JButton("6"); // 数字键6

       JButton seven = new JButton("7"); // 数字键7

       JButton eight = new JButton("8"); // 数字键8

       JButton nine = new JButton("9"); // 数字键9

       JButton plus = new JButton("+");

       JButton sub = new JButton("-");

       JButton mul = new JButton("*");

       JButton div = new JButton("/");

       JButton equal = new JButton("=");

       JButton ce = new JButton("清零"); // 置零键

       JButton point = new JButton(".");

       Number_Key() {

       setLayout(new GridLayout(4, 4, 1, 1)); // 定义布局管理器为网格布局

       setBackground(Color.blue); // 设置背景颜色

       // 添加按钮

       add(one);

       add(two);

       add(three);

       add(four);

       add(five);

       add(six);

       add(seven);

       add(eight);

       add(nine);

       add(zero);

       add(plus);

       add(sub);

       add(mul);

       add(div);

       add(point);

       add(equal);

       add(ce);

       }

       }

       // 计算器显示结果的窗体

       class Result extends JPanel {

       /

**

       *

       */

       private static final long serialVersionUID = 1L;

       // text先是输入和结果

       JTextField text = new JTextField("0");

       @SuppressWarnings("deprecation")

       Result() { // 讲输入的数字或得到的结果在text的右边显示

       text.setHorizontalAlignment(SwingConstants.RIGHT);

       text.enable(false); // 文本框不能编辑

       setLayout(new BorderLayout()); // 设定布局管理器边框布局

       add(text, BorderLayout.CENTER); // text放置在窗体的中间

       }

       }

       ç›´æŽ¥å¤åˆ¶ 保存成Jisuanqi .java可以直接运行了

java编一个计算器的代码

       ç•Œé¢æ¼‚亮堪比系统自带计算器,功能完美加减乘除开平方等等全部具备,还有清零按钮,小数点的使用,连加连乘功能完全参考系统官方计算器经过长期调试改进而成,马上拷贝代码拿去试试看吧,绝不后悔!

       ä»£ç å¦‚下:

       import java.awt.*;

       import java.awt.event.*;

       import javax.swing.*;

       import java.util.*;

       public class Counter {

       public static void main(String[] args) {

       CounterFrame frame = new CounterFrame();

       frame.show();

       }

       }

       class CounterFrame extends JFrame {

       public CounterFrame() {

       JMenuBar menuBar = new JMenuBar();

       JMenu menuFile = new JMenu();

       JMenu menuFile1 = new JMenu();

       JMenu menuFile2 = new JMenu();

       JMenu menuFile3 = new JMenu();

       JMenuItem menuFileExit = new JMenuItem();

       menuFile.setText("文件");

       menuFile1.setText("编辑");

       menuFile2.setText("查看");

       menuFile3.setText("帮助");

       menuFileExit.setText("退出");

       menuFileExit.addActionListener

       (

       new ActionListener() {

       public void actionPerformed(ActionEvent e) {

       CounterFrame.this.windowClosed();

       }

       }

       );

       menuFile.add(menuFileExit);

       menuBar.add(menuFile);

       menuBar.add(menuFile1);

       menuBar.add(menuFile2);

       menuBar.add(menuFile3);

       setTitle("计算器");

       setJMenuBar(menuBar);

       setSize(new Dimension(, ));

       this.getContentPane().add(new Allpanel());

       this.addWindowListener

       (

       new WindowAdapter() {

       public void windowClosing(WindowEvent e) {

       CounterFrame.this.windowClosed();

       }

       }

       );

       }

       protected void windowClosed() {

       System.exit(0);

       }

       }

       class Tool {

       public static Tool instance;

       private JTextField field;

       private Tool() {

       this.field=new JTextField();

       this.field.setHorizontalAlignment(JTextField.RIGHT);

       }

       public static Tool getinstance()

       {

       if(instance==null)

       {

       instance=new Tool();

       }

       return instance;

       }

       public JTextField getfield()

       {

       return (this.field);

       }

       }

       class Allpanel extends JPanel {

       public Allpanel() {

       this.setLayout(new BorderLayout(0,7));

       Northpanel np=new Northpanel();

       Centerpanel cp=new Centerpanel();

       this.add(np,BorderLayout.NORTH);

       this.add(cp,BorderLayout.CENTER);

       }

       }

       class Centercenter extends JPanel {

       static Vector Vec=new Vector();

       static Vector vc=new Vector();

       static Vector vc1=new Vector();

       static Vector vc2=new Vector();

       static Vector vc3=new Vector();

       static String begin="yes";

       static double add;

       static double jq;

       static double cs;

       static double cq;

       static double dy;

       static String jg;

       static String what;

       static double tool=0;

       static String to="yes";

       /**

       * Method Centercenter

       *

       *

       */

       public Centercenter() {

       // TODO: Add your code here

       final JTextField text=Tool.getinstance().getfield();

       this.setLayout(new GridLayout(4,5,3,3));

       String arg[] ={ "7","8","9","/","sqrt","4","5","6","*","%","1","2","3","-","1/x","0","+/-",".","+","="};

       for(int i=0;i<;i++)

       {

       final JButton b=new JButton(arg[i]);

       //this.add(new JButton(arg[i]));

       this.add(b);

       if(i==0||i==1||i==2||i==5||i==6||i==7||i==||i==||i==||i==)

       {

       b.addActionListener(new ActionListener()

       {

       public void actionPerformed(ActionEvent e)

       {

       String mark=b.getText();

       String ma=text.getText();

       if(vc3.contains("v3"))

       {

       text.setText("0."+mark);

       vc3.clear();

       }

       else if(vc.contains("a"))

       {

       if(vc2.contains("v2"))

       {

       text.setText("0."+mark);

       vc.clear();

       vc2.clear();

       }

       else

       {

       text.setText(mark);

       vc.clear();

       Vec.clear();

       Vec.add(mark);

       }

       }

       else

       {

       text.setText(ma.trim()+mark);

       Vec.add(mark);

       }

       begin="no";

       to="yes";

       }

       });

       }

       if(i==)

       {

       b.addActionListener(new ActionListener()

       {

       public void actionPerformed(ActionEvent e)

       {

       String mar=b.getText();

       String m=text.getText();

       if("yes".equals(begin))

       {

       vc3.add("v3");

       }

       if(vc1.contains("v1"))

       {

       vc2.add("v2");

       vc1.clear();

       }

       if(!Vec.contains(".")&&!vc.contains("a"))

       {

       text.setText(m.trim()+mar);

       Vec.add(".");

       }

       }

       });

       }

       if(i==)

       {

       b.addActionListener(new ActionListener()

       {

       public void actionPerformed(ActionEvent e)

       {

       String ma=text.getText();

       add=Double.parseDouble(ma);

       if(what==null)

       {

       tool=add;

       what="add";

       }

       else

       {

       tool=tool+add;

       text.setText(String.valueOf((tool)));

       }

       vc.add("a");

       vc1.add("v1");

       to="+";

       }

       });

       }

       if(i==)

       {

       b.addActionListener(new ActionListener()

       {

       public void actionPerformed(ActionEvent e)

       {

       String ma=text.getText();

       jq=Double.parseDouble(ma);

       if(what==null)

       {

       tool=jq;

       what="jq";

       }

       else

       {

       tool=tool-jq;

       text.setText(String.valueOf((tool)));

       }

       vc.add("a");

       vc1.add("v1");

       to="-";

       }

       });

       }

       if(i==3)

       {

       b.addActionListener(new ActionListener()

       {

       public void actionPerformed(ActionEvent e)

       {

       String ma=text.getText();

       cq=Double.parseDouble(ma);

       if(what==null)

       {

       tool=cq;

       what="cq";

       }

       else

       {

       tool=tool/cq;

       text.setText(String.valueOf((tool)));

       }

       vc.add("a");

       vc1.add("v1");

       to="/";

       }

       });

       }

       if(i==4)

       {

       b.addActionListener(new ActionListener()

       {

       public void actionPerformed(ActionEvent e)

       {

       String ma=text.getText();

       cq=Double.parseDouble(ma);

       text.setText(String.valueOf(Math.sqrt(cq)));

       }

       });

       }

       if(i==8)

       {

       b.addActionListener(new ActionListener()

       {

       public void actionPerformed(ActionEvent e)

       {

       String ma=text.getText();

       cs=Double.parseDouble(ma);

       if(what==null)

       {

       tool=cs;

       what="cs";

       }

       else

       {

       tool=tool*cs;

       text.setText(String.valueOf((tool)));

       }

       vc.add("a");

       vc1.add("v1");

       to="*";

       }

       });

       }

       if(i==)

       {

       b.addActionListener(new ActionListener()

       {

       public void actionPerformed(ActionEvent e)

       {

       String ma=text.getText();

       dy=Double.parseDouble(ma);

       if(what=="add")

       {

       jg=String.valueOf((tool+dy));

       }

       if(what=="jq")

       {

       jg=String.valueOf((tool-dy));

       }

       if(what=="cs")

       {

       jg=String.valueOf((tool*dy));

       }

       if(what=="cq")

       {

       jg=String.valueOf((tool/dy));

       }

       if(what==null)

       {

       if(to=="+")

       {

       tool=add;

       jg=String.valueOf(tool+dy);

       }

       else if(to=="-")

       {

       tool=jq;

       jg=String.valueOf(dy-tool);

       }

       else if(to=="*")

       {

       tool=cs;

       jg=String.valueOf(dy*tool);

       }

       else if(to=="/")

       {

       tool=cq;

       jg=String.valueOf(dy/tool);

       }

       else

       {

       jg=String.valueOf(dy);

       }

       }

       text.setText(jg);

       Vec.clear();

       Vec.add(".");

       vc.add("a");

       vc1.add("v1");

       what=null;

       tool=0;

       }

       });

       }

       }

       }

       }

       class Centernorth extends JPanel {

       public Centernorth() {

       final JTextField text=Tool.getinstance().getfield();

       JButton jb1=new JButton("Backspace");

       JButton jb2=new JButton(" CE ");

       JButton jb3=new JButton(" C ");

       this.add(jb1);

       this.add(jb2);

       this.add(jb3);

       jb1.addActionListener(new ActionListener(){

       public void actionPerformed(ActionEvent e)

       {

       String back=Tool.getinstance().getfield().getText();

       text.setText(backmethod(back));

       Centercenter.Vec.remove(Centercenter.Vec.size()-1);

       }

       });

       jb3.addActionListener(new ActionListener(){

       public void actionPerformed(ActionEvent e)

       {

       text.setText("0.");

       Centercenter.Vec.clear();

       Centercenter.Vec.add(".");

       Centercenter.vc.add("a");

       Centercenter.begin="yes";

       Centercenter.vc1.clear();

       Centercenter.what=null;

       Centercenter.tool=0;

       }

       });

       }

       public String backmethod(String str)

       {

       return str.substring(0,str.length()-1);

       }

       }

       class Centerpanel extends JPanel {

       public Centerpanel() {

       this.setLayout(new BorderLayout(8,7));

       Centernorth cn=new Centernorth();

       Centercenter cc=new Centercenter();

       Centerwest cw=new Centerwest();

       this.add(cn,BorderLayout.NORTH);

       this.add(cc,BorderLayout.CENTER);

       this.add(cw,BorderLayout.WEST);

       }

       }

       class Centerwest extends JPanel {

       public Centerwest() {

       this.setLayout(new GridLayout(4,1,3,3));

       this.add(new JButton("MC"));

       this.add(new JButton("MR"));

       this.add(new JButton("MS"));

       this.add(new JButton("M+"));

       }

       }

       class Northpanel extends JPanel {

       private JTextField tf;

       public Northpanel() {

       tf=Tool.getinstance().getfield();

       this.add(tf);

       }

       }

       ---------------------------------------------------------------------------

       =============《按你要求特意后改过的最简单功能的代码如下》========================

       import java.awt.*;

       import java.awt.event.*;

       import javax.swing.*;

       import java.util.*;

       public class Counter2 {

        public static void main(String[] args) {

        CounterFrame frame = new CounterFrame();

        frame.show();

        }

       }

       class CounterFrame extends JFrame {

        public CounterFrame() {

        setTitle("计算器");

        setSize(new Dimension(, ));

        this.getContentPane().add(new Allpanel());

        this.addWindowListener

        (

        new WindowAdapter() {

        public void windowClosing(WindowEvent e) {

        CounterFrame.this.windowClosed();

        }

        }

        );

        }

        protected void windowClosed() {

        System.exit(0);

        }

       }

       class Tool {

       public static Tool instance;

        private JTextField field;

        private Tool() {

        this.field=new JTextField();

        this.field.setHorizontalAlignment(JTextField.RIGHT);

        }

       public static Tool getinstance()

        {

        if(instance==null)

        {

        instance=new Tool();

        }

        return instance;

        }

        public JTextField getfield()

        {

        return (this.field);

        }

       }

       class Allpanel extends JPanel {

        public Allpanel() {

        this.setLayout(new BorderLayout(0,7));

        Northpanel np=new Northpanel();

        Centerpanel cp=new Centerpanel();

        this.add(np,BorderLayout.NORTH);

        this.add(cp,BorderLayout.CENTER);

        }

       }

       class Centercenter extends JPanel {

       static Vector Vec=new Vector();

        static Vector vc=new Vector();

        static Vector vc1=new Vector();

        static Vector vc2=new Vector();

        static Vector vc3=new Vector();

        static String begin="yes";

        static double add;

        static double jq;

        static double cs;

        static double cq;

        static double dy;

        static String jg;

        static String what;

        static double tool=0;

        static String to="yes";

        /

**

        * Method Centercenter

       

*

       

*

        */

        public Centercenter() {

        // TODO: Add your code here

        final JTextField text=Tool.getinstance().getfield();

        this.setLayout(new GridLayout(4,5,3,3));

        String arg[] ={ "7","8","9","/","4","5","6","*","1","2","3","-","0","=",".","+"};

        for(int i=0;i<;i++)

        {

        final JButton b=new JButton(arg[i]);

        //this.add(new JButton(arg[i]));

        this.add(b);

        if(i==0||i==1||i==2||i==4||i==5||i==6||i==8||i==9||i==||i==)

        {

        b.addActionListener(new ActionListener()

        {

        public void actionPerformed(ActionEvent e)

        {

        String mark=b.getText();

        String ma=text.getText();

        if(vc3.contains("v3"))

        {

        text.setText("0."+mark);

        vc3.clear();

        }

       else if(vc.contains("a"))

        {

        if(vc2.contains("v2"))

        {

        text.setText("0."+mark);

        vc.clear();

        vc2.clear();

       }

        else

        {

        text.setText(mark);

        vc.clear();

        Vec.clear();

        Vec.add(mark);

        }

       }

        else

        {

        text.setText(ma.trim()+mark);

        Vec.add(mark);

        }

        begin="no";

        to="yes";

       }

        });

        }

       if(i==)

        {

        b.addActionListener(new ActionListener()

        {

        public void actionPerformed(ActionEvent e)

        {

        String mar=b.getText();

        String m=text.getText();

        if("yes".equals(begin))

        {

        vc3.add("v3");

        }

        if(vc1.contains("v1"))

        {

        vc2.add("v2");

        vc1.clear();

        }

        if(!Vec.contains(".")&&!vc.contains("a"))

        {

        text.setText(m.trim()+mar);

        Vec.add(".");

        }

        }

        });

        }

        if(i==)

        {

        b.addActionListener(new ActionListener()

        {

        public void actionPerformed(ActionEvent e)

        {

        String ma=text.getText();

        add=Double.parseDouble(ma);

        if(what==null)

        {

        tool=add;

        what="add";

        }

        else

        {

        tool=tool+add;

        text.setText(String.valueOf((tool)));

        }

        vc.add("a");

        vc1.add("v1");

        to="+";

        }

        });

        }

        if(i==)

        {

        b.addActionListener(new ActionListener()

        {

        public void actionPerformed(ActionEvent e)

        {

        String ma=text.getText();

        jq=Double.parseDouble(ma);

        if(what==null)

        {

        tool=jq;

        what="jq";

        }

        else

        {

        tool=tool-jq;

        text.setText(String.valueOf((tool)));

        }

        vc.add("a");

        vc1.add("v1");

        to="-";

        }

        });

        }

        if(i==3)

        {

        b.addActionListener(new ActionListener()

        {

        public void actionPerformed(ActionEvent e)

        {

        String ma=text.getText();

        cq=Double.parseDouble(ma);

        if(what==null)

        {

        tool=cq;

        what="cq";

        }

        else

        {

        tool=tool/cq;

        text.setText(String.valueOf((tool)));

        }

        vc.add("a");

        vc1.add("v1");

        to="/";

        }

        });

        }

       if(i==7)

        {

        b.addActionListener(new ActionListener()

        {

        public void actionPerformed(ActionEvent e)

        {

        String ma=text.getText();

        cs=Double.parseDouble(ma);

        if(what==null)

        {

        tool=cs;

        what="cs";

        }

        else

        {

        tool=tool*cs;

        text.setText(String.valueOf((tool)));

        }

        vc.add("a");

        vc1.add("v1");

        to="*";

        }

        });

        }

        if(i==)

        {

        b.addActionListener(new ActionListener()

        {

        public void actionPerformed(ActionEvent e)

        {

        String ma=text.getText();

        dy=Double.parseDouble(ma);

        if(what=="add")

        {

        jg=String.valueOf((tool+dy));

        }

        if(what=="jq")

        {

        jg=String.valueOf((tool-dy));

        }

        if(what=="cs")

        {

        jg=String.valueOf((tool*dy));

        }

        if(what=="cq")

        {

        jg=String.valueOf((tool/dy));

        }

        if(what==null)

        {

        if(to=="+")

        {

        tool=add;

        jg=String.valueOf(tool+dy);

        }

        else if(to=="-")

        {

        tool=jq;

        jg=String.valueOf(dy-tool);

        }

        else if(to=="*")

        {

        tool=cs;

        jg=String.valueOf(dy*tool);

        }

        else if(to=="/")

        {

        tool=cq;

        jg=String.valueOf(dy/tool);

        }

        else

        {

        jg=String.valueOf(dy);

        }

        }

        text.setText(jg);

        Vec.clear();

        Vec.add(".");

        vc.add("a");

        vc1.add("v1");

        what=null;

        tool=0;

        }

        });

        }

        }

       }

       }

       class Centernorth extends JPanel {

        public Centernorth() {

        final JTextField text=Tool.getinstance().getfield();

        }

       }

       class Centerpanel extends JPanel {

        public Centerpanel() {

        this.setLayout(new BorderLayout(8,7));

        Centernorth cn=new Centernorth();

        Centercenter cc=new Centercenter();

        Centerwest cw=new Centerwest();

        this.add(cn,BorderLayout.NORTH);

        this.add(cc,BorderLayout.CENTER);

        this.add(cw,BorderLayout.WEST);

        }

       }

       class Centerwest extends JPanel {

        public Centerwest() {

        }

       }

       class Northpanel extends JPanel {

        private JTextField tf;

        public Northpanel() {

        tf=Tool.getinstance().getfield();

        this.add(tf);

        }

       }

       ------------------------------------------------------------

       æ‰å­_辉祝您愉快!