java 写一个简单的计算器
来源:互联网 发布:软件开发可行性报告 编辑:程序博客网 时间:2024/05/16 11:08
请点击好的,看完介绍,咱们就根据这个杭电oj上1237 这道题,改写一个用GUI写出来的 小计算器,类似于这样:
然后 通过输入 显示结果,比如说:
可以看得出来,咱们得到的结果是正确的:
代码:
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;}elseinput += 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);//设置窗口可见}}
4 0
- 分享一个java写的简单计算器
- java 写一个简单的计算器
- 怎样用Java写一个简单的计算器?
- 用JAVA写的一个简单的图形界面计算器
- 用java写一个简单的计算器详解代码
- c写的一个简单的计算器
- JSP写的一个简单计算器
- 利用javascript写一个简单的计算器
- 用Flex写的一个简单计算器
- 用Flex写的一个简单计算器
- javasrcpt写一个简单的计算器
- javascript写一个简单的计算器程序
- 用js写一个简单的计算器
- java写一个计算器
- 初学java写的一个大数计算器
- 用JAVA写的一个计算器
- 利用java做一个简单的计算器
- 一个简单的java计算器源码分析
- LCD
- windows下fc对拍器 和 Linux下diff对拍器
- 关于中断服务函数带来返回值的思考
- OpenGrok源码搜索引擎搭建
- 数组中出现次数超过一半的数字
- java 写一个简单的计算器
- java io系列08之 File总结
- Using assembly writing algorithm programs
- 操作系统下的指针长度
- Ubuntu下搭建R语言开发环境
- Java-IO之字符输入输出流(Reader和Writer)
- 剑指offer(4)-O(1)时间删除链表结点
- 8086数据寄存器介绍
- 一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?