java诺基亚5200手机计算器

       很高兴能够参与这个java诺基亚5200手机计算器问题集合的解答工作。我将根据自己的知识和经验,为每个问题提供准确而有用的回答,并尽量满足大家的需求。

1.javaŵ????5200?ֻ???????

2.用JAVA编写一个计算器

3.JAVA 编写计算器 要代码最简单的

4.诺基亚5200

java诺基亚5200手机计算器

javaŵ????5200?ֻ???????

       然后 通过输入 显示结果,比如说:

       以下是上图计算器的代码:

       package?Computer;

       import?java.awt.BorderLayout;

       import?java.awt.Color;

       import?java.awt.Container;

       import?java.awt.Font;

       import?java.awt.GridLayout;

       import?java.awt.event.ActionEvent;

       import?java.awt.event.ActionListener;

       import?java.util.Stack;

       import?javax.swing.JApplet;

       import?javax.swing.JButton;

       import?javax.swing.JFrame;

       import?javax.swing.JPanel;

       import?javax.swing.JTextField;

       public?class?Count?extends?JApplet?implements?ActionListener

       {

       /**?

       *

       */

       private?static?final?long?serialVersionUID?=?1L;

       private?JTextField?textField?=?new?JTextField("请输入");

       String?operator?=?"";//操作

       String?input?=?"";//输入的?式子

       boolean?flag?=true;

       //boolean?flag1?=?true;

       //boolean?flag2?=?true;

       public?void?init()//覆写Applet里边的init方法

       {

       Container?C?=?getContentPane();

       JButton?b[]?=?new?JButton[16];

       JPanel?panel?=?new?JPanel();

       C.add(textField,?BorderLayout.NORTH);

       C.add(panel,BorderLayout.CENTER);

       panel.setLayout(new?GridLayout(4,?4,5,5));

       String?name[]={"7","8","9","+","4","5","6","-","1","2","3","*","0","C","=","/"};//设置?按钮

       for(int?i=0;i<16;i++)//添加按钮

       {

       b[i]?=?new?JButton(name[i]);

       b[i].setBackground(new?Color(192,192,192));

       b[i].setForeground(Color.BLUE);//数字键?设置为?蓝颜色

       if(i%4==3)

       b[i].setForeground(Color.RED);

       b[i].setFont(new?Font("宋体",Font.PLAIN,16));//设置字体格式

       panel.add(b[i]);

       b[i].addActionListener(this);

       }

       b[13].setForeground(Color.RED);//非数字键,即运算键设置为红颜色

       b[13].setForeground(Color.RED);

       }

       public?void?actionPerformed(ActionEvent?e)?

       {

       int?cnt?=?0;

       String?actionCommand?=?e.getActionCommand();

       if(actionCommand.equals("+")||actionCommand.equals("-")||actionCommand.equals("*")?||actionCommand.equals("/"))

       input?+="?"+actionCommand+"?";//设置输入,把输入的样式改成?需要的样子

       else?if(actionCommand.equals("C"))

       input?=?"";

       else?if(actionCommand.equals("="))//当监听到等号时,则处理?input

       {

       input+=?"="+compute(input);

       textField.setText(input);

       input="";

       cnt?=?1;

       }

       else

       input?+=?actionCommand;//数字为了避免多位数的输入?不需要加空格

       if(cnt==0)

       textField.setText(input);

       }

       private?String?compute(String?input)//即1237?的?样例

       {

       String?str[];

       str?=?input.split("?");

       Stack<Double>?s?=?new?Stack<Double>();

       double?m?=?Double.parseDouble(str[0]);

       s.push(m);

       for(int?i=1;i<str.length;i++)

       {

       if(i%2==1)

       {

       if(str[i].compareTo("+")==0)

       {

       double?help?=?Double.parseDouble(str[i+1]);

       s.push(help);

       }

       if(str[i].compareTo("-")==0)

       {

       double?help?=?Double.parseDouble(str[i+1]);

       s.push(-help);

       }

       if(str[i].compareTo("*")==0)

       {

       double?help?=?Double.parseDouble(str[i+1]);

       double?ans?=?s.peek();//取出栈顶元素

       s.pop();//消栈

       ans*=help;

       s.push(ans);

       }

       if(str[i].compareTo("/")==0)

       {

       double?help?=?Double.parseDouble(str[i+1]);

       double?ans?=?s.peek();

       s.pop();

       ans/=help;

       s.push(ans);

       }

       }

       }

       double?ans?=?0d;

       while(!s.isEmpty())

       {

       ans+=s.peek();

       s.pop();

       }

       String?result?=?String.valueOf(ans);

       return?result;

       }

       public?static?void?main(String?args[])

       {

       JFrame?frame?=?new?JFrame("Count");

       Count?applet?=?new?Count();

       frame.getContentPane().add(applet,?BorderLayout.CENTER);

       applet.init();//applet的init方法

       applet.start();//线程开始

       frame.setSize(350,?400);//设置窗口大小

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

       }

       } ?

用JAVA编写一个计算器

       import java.awt.BorderLayout;

       import java.awt.Button;

       import java.awt.Color;

       import java.awt.Dialog;

       import java.awt.Dimension;

       import java.awt.FlowLayout;

       import java.awt.Frame;

       import java.awt.GridLayout;

       import java.awt.Label;

       import java.awt.Menu;

       import java.awt.MenuBar;

       import java.awt.MenuItem;

       import java.awt.Panel;

       import java.awt.TextField;

       import java.awt.Toolkit;

       import java.awt.datatransfer.Clipboard;

       import java.awt.datatransfer.StringSelection;

       import java.awt.event.ActionEvent;

       import java.awt.event.ActionListener;

       import java.awt.event.WindowAdapter;

       import java.awt.event.WindowEvent;

       public class Calculator extends Frame implements ActionListener {

        private String s_show;

        private String s_go;

        Panel p1 = new Panel();

        Panel p2 = new Panel();

        Panel p3=new Panel();

        Oper do1 = new Oper();

        TextField textfields = new TextField(27);

        Dialog dlog=new Dialog(this,"about us");

        Label aboutlab=new Label();

        String s1;

        String sedit;

        Button buttons1 = new Button("Backspace");

        int screenWidth,screenHeight;

        Clipboard clp=Toolkit.getDefaultToolkit().getSystemClipboard();

        Calculator() {

        this.addWindowListener(new WindowAdapter() {

        public void windowClosing(WindowEvent e) {

        System.exit(0);

        }

        });

        MenuBar mbr=new MenuBar();

        setMenuBar(mbr);

        Menu edit=new Menu(" do ");

        MenuItem copy=new MenuItem("Copy Ctrl+C");

        MenuItem zhantie=new MenuItem(" Ctrl+V");

        MenuItem exit=new MenuItem("Close Alt+F4");

        edit.add(copy);

        edit.add(zhantie);

        mbr.add(edit);

        Menu help=new Menu(" help ");

        MenuItem help1=new MenuItem("help theme");

        MenuItem about=new MenuItem("about us");

        dlog.setAlwaysOnTop(true);

        dlog.setResizable(false);

        //dlog.setEnabled(false);

        s1="学习时兴趣小组做的";

        aboutlab.setSize(200, 150);

        aboutlab.setText(s1);

        dlog.add(aboutlab);

        about.addActionListener(new ActionListener(){

        public void actionPerformed(ActionEvent e){

        dlog.setVisible(true);

        }

        });

        dlog.addWindowListener(new WindowAdapter(){

        public void windowClosing(WindowEvent e){

        dlog.setVisible(false);

        }

        });

        help.add(help1);

        help.add(about);

        mbr.add(help);

        p1.setBackground(Color.lightGray);

        p1.setForeground(Color.red);

        p2.setBackground(Color.lightGray);

        p2.setForeground(Color.blue);

        p1.setLayout(new FlowLayout(FlowLayout.RIGHT, 1,1));

        p1.add(textfields);

        p1.add(buttons1);

        buttons1.addActionListener(this);

        p2.setLayout(new GridLayout(5, 4, 10, 16));

        this.add(p1, BorderLayout.CENTER);

        this.add(p2, BorderLayout.SOUTH);

        this.setTitle("Play the window");

        this.setResizable(false);

        this.setAlwaysOnTop(true);

        /**textfields.addKeyListener(new KeyAdapter(){

        public void keyTyped(KeyEvent e){

        char c=e.getKeyChar();

        String textfieldsstr=textfields.toString();

        switch(c){

        case 1:textfields.setText(textfieldsstr+1);break;

        case 2:textfields.setText(textfields.toString()+2);break;

        case 3:textfields.setText(textfields.toString()+3);break;

        case 4:textfields.setText(textfields.toString()+4);break;

        case 5:textfields.setText(textfields.toString()+5);break;

        case 6:textfields.setText(textfields.toString()+6);break;

        case 7:textfields.setText(textfields.toString()+7);break;

        case 8:textfields.setText(textfields.toString()+8);break;

        case 9:textfields.setText(textfields.toString()+9);break;

        case 0:textfields.setText(textfields.toString()+0);break;

        case '*':textfields.setText(textfields.toString()+"*");break;

        }

        /**if(e.getKeyChar()==1){

        textfields.setText(textfields.toString()+1);

        }

        }

        });*///未实现键盘监听

        Toolkit tk=Toolkit.getDefaultToolkit();

        Dimension screenSize = tk.getScreenSize();

        screenWidth=screenSize.width;

        screenHeight=screenSize.height;

        this.setBounds(screenWidth/2-150, screenHeight/2-128, 300, 256);

        dlog.setBounds(screenWidth/2-100, screenHeight/2-78, 200, 150);

        int i, j = 0, k = 9, r1 = 0, r2 = 0, r3 = 0;

        for (i = 0; i < 20; i++) {

        j++;

        if (j == 4) {

        j = 0;

        r1++;

        Button buttons2_i = new Button();

        p2.add(buttons2_i);

        buttons2_i.setBackground(Color.cyan);

        buttons2_i.addActionListener(this);

        switch (r1) {

        case 1:

        buttons2_i.setLabel("+");

        break;

        case 2:

        buttons2_i.setLabel("-");

        break;

        case 3:

        buttons2_i.setLabel("*");

        break;

        case 4:

        buttons2_i.setLabel("/");

        break;

        case 5:

        buttons2_i.setLabel("=");

        break;

        }

        }// endif

        else // else1

        {

        if (i < 3) {

        r2++;

        Button buttons2_i = new Button(""); //

        p2.add(buttons2_i);

        buttons2_i.setBackground(Color.cyan);

        buttons2_i.addActionListener(this);

        switch (r2) {

        case 1:

        buttons2_i.setLabel("(");

        break;

        case 2:

        buttons2_i.setLabel(")");

        break;

        case 3:

        buttons2_i.setLabel("sqrt");

        break;

        }

        }// endif

        else {

        if (i > 16 && i < 19) {

        r3++;

        Button buttons2_i = new Button("");

        p2.add(buttons2_i);

        buttons2_i.addActionListener(this);

        switch (r3) {

        case 1:

        buttons2_i.setLabel(".");

        break;

        case 2:

        buttons2_i.setLabel("CE");

        break;

        }

        }// endif

        else {

        Integer name = new Integer(k);

        k--;

        s_show = name.toString();

        Button buttons2_i = new Button(s_show);

        p2.add(buttons2_i);

        buttons2_i.addActionListener(this);

        }

        }

        }// end else1

        }// end for

        s_show = "";

        s_go = "";

        this.setVisible(true);

        }// end Calculator()构造方法

        public void actionPerformed(ActionEvent e) {

        if (e.getSource() instanceof Button) // if1

        {

        if (e.getActionCommand() == "CE")// Del

        {

        s_show = "";

        s_go = "";

        textfields.setText(s_show);

        } else if (e.getActionCommand() == "Backspace") {

        if (s_show.equals("")) {

        s_go = "";

        textfields.setText("");

        } else {

        if (s_go.length() > 0)

        s_go = s_go.substring(0, s_go.length() - 1);

        s_show = s_show.substring(0, s_show.length() - 1);

        textfields.setText(s_show);

        }

        } else if (e.getActionCommand() == ".") {

        if (textfields.getText().equals(""))

        textfields.setText("0.");

        else {

        s_show += e.getActionCommand();

        s_go += e.getActionCommand();

        textfields.setText(s_show);

        }

        } else {

        if (e.getActionCommand() != "=") {

        if (e.getActionCommand().equals("sqrt")) {

        s_show += e.getActionCommand();

        s_go += e.getActionCommand();

        textfields.setText(s_show);

        s_go = s_go.substring(0, s_go.length() - 3);

        } else {

        s_show += e.getActionCommand();

        s_go += e.getActionCommand();

        textfields.setText(s_show);

        }

        } else {

        s_show += e.getActionCommand();

        s_go += e.getActionCommand();

        textfields.setText(do1.operator(s_go)); // ().toString()

        }

        }// end else

        }// end if1

        if(e.getSource()=="copy"){

        sedit=textfields.getSelectedText();

        StringSelection text=new StringSelection(sedit);

        clp.setContents(text, null);

        }

        /**else if(e.getSource()=="zhantie"){

        Transferable contents=clp.getContents(this);//返回表示剪贴板当前内容的 transferable 对象。

        DataFlavor flavor=DataFlavor.stringFlavor;//

        String ss;

        if (contents.isDataFlavorSupported(flavor)) {

        try

        {

        int start=textfields.getSelectionStart();

        int end=textfields.getSelectionEnd();

        //textfields.replaceRange("",start,end);

        textfields.setText(ss);

        ss = (String)contents.getTransferData(flavor);

        int n=textfields.getCaretPosition();

        textfields.insert(ss,n);

        }catch(Exception ee){

       // TODO: handle exception

        }

        }

        }*///未实现剪贴板粘贴功能

        // end actionPerformed()

        // end class Calculator

        }

        public static void main(String args[]) {

        Calculator cal = new Calculator();

        }

       }

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(380, 220, 30, 80); // 前两个参数是在屏幕上显示的坐标,后两个是大小

       // 替换图标

       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这个按钮有一定的说法,在我的程序里不会出现如00000这样的情况,我加了判断条件就是

       * 如果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可以直接运行了

诺基亚5200

       学java的时候自己编的,很简单,能够连续输入计算式后进行计算

       import java.awt.BorderLayout;

       import java.awt.Color;

       import java.awt.FlowLayout;

       import java.awt.Font;

       import java.awt.GridLayout;

       import java.awt.event.ActionEvent;

       import java.awt.event.ActionListener;

       import java.text.NumberFormat;

       import java.util.ArrayList;

       import javax.swing.JButton;

       import javax.swing.JFrame;

       import javax.swing.JPanel;

       import javax.swing.JTextField;

       /**简易计算器,能够进行简单的计算

        *

        * @see 2008.12.9

       */

       public class CalculatorA

        implements ActionListener{

        private JFrame frame;

        private JTextField field;

        private JButton[] allButtons;

        private JButton clearButton;

       // private JButton backButton;

        String result="";//保存结果

        StringBuilder sb = new StringBuilder();//保存要进行的计算式

        int x = 0; //用来判断上一次的事件类型

        String str = "123+456-789*0.=/";

        ArrayList<String> arrayList = new ArrayList<String>();//保存计算式,通过方法进行运算

        public CalculatorA(){

        frame = new JFrame("我的计算器v1.1");

        frame.setLocation(300,300);

        field = new JTextField(25);

        allButtons = new JButton[16];

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

        allButtons[i]= new JButton(str.substring(i,i+1));

        }

        clearButton = new JButton("CLEAR");

       // backButton = new JButton("<——");

        init();

        setFondAndColor();

        addEventHander();

        }

        public void init(){

        frame.setLayout(new BorderLayout());

        JPanel northPanel = new JPanel();

        JPanel centerPanel = new JPanel();

        JPanel southPanel = new JPanel();

        northPanel.setLayout(new FlowLayout());

        centerPanel.setLayout(new GridLayout(4,4));

        southPanel.setLayout(new FlowLayout());

        northPanel.add(field);

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

        centerPanel.add(allButtons[i]);

        }

        southPanel.add(clearButton);

        //southPanel.add(backButton);

        frame.add(northPanel,BorderLayout.NORTH);

        frame.add(centerPanel,BorderLayout.CENTER);

        frame.add(southPanel,BorderLayout.SOUTH);

        }

        //设置输入字体

        public void setFondAndColor(){

        field.setFont(new Font("宋体",Font.BOLD,24));

        field.setBackground(new Color(100,200,200));

        field.setForeground(Color.RED);

        //设置字体从右起始

        field.setHorizontalAlignment(JTextField.RIGHT);

        }

        public void showMi(){

        frame.pack();

        frame.setResizable(false);

        frame.setVisible(true);

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        }

        public void addEventHander(){

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

        allButtons[i].addActionListener(this);

        }

        clearButton.addActionListener(this);

       // backButton.addActionListener(this);

        }

        @Override

        public void actionPerformed(ActionEvent e) {

        String str = e.getActionCommand();//取得当前事件返回的值

        if("0123456789.".indexOf(str)!=-1){

        if(x == 0){ //当x为0时表示还没有进行输入

        result=str;

        sb.append(str);

        field.setText(str);

        x = 1;

        }

        else if(x == 1){

        result = result +str;

        sb.append(str);

        field.setText(result);

        x = 1;

        }

        else if(x == 2){

        sb.delete(0,sb.length());

        result = result+str;

        sb.append(str);

        field.setText(result);

        x = 1;

        }

        else if(x == 3){

        result = str;

        sb.delete(0,sb.length());

        arrayList.clear();

        field.setText(str);

        sb.append(str);

        field.setText(str);

        x = 1;

        }

        else if(x == 4){

        result ="";

        sb.delete(0,sb.length());

        arrayList.clear();

        result = str;

        sb.append(str);

        field.setText(str);

        x = 1;

        }

        else{

        result = result +str;

        sb.append(str);

        field.setText(result);

        x = 1;

        }

        }

        else if("+*-/".indexOf(str)!=-1){

        if(x == 0){

        field.setText("");

        x = 2;

        }

        else if(x == 1){

        result = result + str;

        arrayList.add(sb.toString());

        arrayList.add(str);

        sb.append(str);

        field.setText(result);

        x = 2;

        }

        else if(x == 2){

        x = 2;

        }

        else if(x == 3){

        field.setText(result+str);

        arrayList.add(result);

        arrayList.add(str);

        result = result+str;

        x = 2;

        }

        else if(x == 4){

        result ="";

        sb.delete(0,sb.length());

        arrayList.clear();

        x = 2;

        }

        else{

        field.setText(result+str);

        arrayList.add(result);

        arrayList.add(str);

        result = result+str;

        x = 2;

        }

        }

        else if("=".equals(str)){

        if(x == 0){

        field.setText("0");

        arrayList.clear();

        result = "0";

        x = 3;

        }

        else if(x == 1){

        try{

        arrayList.add(sb.toString());

        arrayList = getResult(arrayList);

        result = arrayList.get(0);

        field.setText(result);

        arrayList.clear();

        x = 3;

        }catch(Exception e1){

        field.setText("数据格式异常");

        x = 0;

        }

        }

        else if(x == 2){

        field.setText("数据格式错误.....");

        arrayList.clear();

        x = 0;

        }

        else if(x == 3){

        field.setText(result);

        x = 3;

        }

        else if(x == 4){

        result ="";

        sb.delete(0,sb.length());

        arrayList.clear();

        x = 3;

        }

        else {

        try{

        arrayList.add(sb.toString());

        arrayList = getResult(arrayList);

        result = arrayList.get(0);

        field.setText(result);

        arrayList.clear();

        x = 3;

        }catch(Exception e1){

        field.setText("数据格式异常");

        x = 0;

        }

        }

        }

        else if("CLEAR".equals(str)){

        arrayList.clear();

        field.setText("0");

        arrayList.add("0");

        x = 4;

        }

        else{

        if(result.length()>1){

        result = result.substring(0,result.length()-1);

        if(sb.length()>0){

        sb.delete(sb.length()-1,sb.length());

        }

        else {

        sb.delete(0,1);

        }

        field.setText(result);

        x = 5;

        }

        else{

        result = "";

        sb.delete(0,sb.length());

        arrayList.clear();

        field.setText("0");

        x = 0;

        }

        }

        }

        public static ArrayList<String> getResult(ArrayList<String> list){

        String res = null;

        String[] s = {"/","*","-","+"};

        int i=0;

        if(list.size()>1){

        for(;i<s.length;){

        if(s[i].equals("/")){

        for(int j=0;j<list.size();j++){

        if(list.get(j).equals(s[i])){

        res = Double.toString(Double.parseDouble(list.get(j-1))/Double.parseDouble(list.get(j+1)));

        //本地的数据格式

        NumberFormat nf = NumberFormat.getInstance();

        res = nf.format(Double.parseDouble(res));

        res = getChange(res);

        list.set(j-1,res);

        list.remove(j);

        list.remove(j);

        getResult(list);

        }

        }

        i++;

        }

        else if(s[i].equals("*")){

        for(int j=0;j<list.size();j++){

        if(list.get(j).equals(s[i])){

        res = Double.toString(Double.parseDouble(list.get(j-1))*Double.parseDouble(list.get(j+1)));

        NumberFormat nf = NumberFormat.getInstance();

        res = nf.format(Double.parseDouble(res));

        res = getChange(res);

        list.set(j-1,res);

        list.remove(j);

        list.remove(j);

        getResult(list);

        }

        }

        i++;

        }

        else if(s[i].equals("-")){

        for(int j=0;j<list.size();j++){

        if(list.get(j).equals(s[i])){

        res = Double.toString(Double.parseDouble(list.get(j-1))-Double.parseDouble(list.get(j+1)));

        NumberFormat nf = NumberFormat.getNumberInstance();

        res = nf.format(Double.parseDouble(res));

        res = getChange(res);

        list.set(j-1,res);

        list.remove(j);

        list.remove(j);

        getResult(list);

        }

        }

        i++;

        }

        else {

        for(int j=0;j<list.size();j++){

        if(list.get(j).equals(s[i])){

        res = Double.toString(Double.parseDouble(list.get(j-1))+Double.parseDouble(list.get(j+1)));

        NumberFormat nf = NumberFormat.getInstance();

        res = nf.format(Double.parseDouble(res));

        res = getChange(res);

        list.set(j-1,res);

        list.remove(j);

        list.remove(j);

        getResult(list);

        }

        }

        i++;

        }

        }

        }

        return list;

        }

        //对数字字符串进行排除不必要符号

        public static String getChange(String res){

        String s_temp = "";

        char[] c = new char[res.length()];

        for(int k=0;k<c.length;k++){

        c[k] = res.charAt(k);

        }

        for(int k=0;k<c.length;k++){

        if((c[k]>= '0' && c[k]<= '9')|| c[k] == '.'){

        s_temp += c[k];

        }

        }

        return s_temp;

        }

        public static void main(String[] args){

        new CalculatorA().showMi();

        }

       }

       诺基亚5200简介:

       诺基亚5200是诺基亚公司于2006年10月推出的采用了塞班S40操作系统的,基于GSM网络的音乐手机。诺基亚5200机身边线简洁,边角圆润处理衬托机身轻盈匀称,红白色的颜色搭配匠心独具。该机搭载有1.8寸的屏幕,128×160分辨率,显示效果还算不错。内置的30万像素CMOS摄像头,支持4倍数码变焦,并拥有视频拍摄功能和横向全屏模式摄像机功能。屏幕旁边配备了音乐操控键,可进行音乐的暂停,播放,非常的便捷。

       操作系统:Symbian OS

       蓝牙传输:支持

       存储卡:MicroSD卡

       视频播放:支持3GP/MPEG-4等格式

       手机类型:音乐手机

       上市日期:2006年10月

       输入方式:键盘

       手机昵称:5200

       主屏材质:CSTN

       基本参数

       手机昵称:5200

       上市日期:2006年10月

       手机类型:音乐手机

       外观设计:滑盖

       主屏材质:CSTN

       主屏分辨率:128×160像素

       主屏色彩:26万色

       网络模式:GSM

       数据业务:GPRS

       支持频段:GSM 900/1800/1900MHz

       操作系统:Symbian OS

       用户界面:Symbian S40

       存储卡:MicroSD卡

       扩展容量:2GB

       今天关于“java诺基亚5200手机计算器”的讨论就到这里了。希望通过今天的讲解,您能对这个主题有更深入的理解。如果您有任何问题或需要进一步的信息,请随时告诉我。我将竭诚为您服务。