计算器(Java)
来源:互联网 发布:重庆江北离家纺城源码 编辑:程序博客网 时间:2024/06/15 17:10
第一个Java程序。。
import java.awt.Button;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.Frame;import java.awt.GridLayout;import java.awt.TextField;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuItem;import javax.swing.JPanel;import javax.swing.JFrame;import javax.swing.JTextField;import java.awt.BorderLayout;import javax.swing.JMenuBar;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;public class Main{JFrame frame = new JFrame("计算器"); JMenuBar b = new JMenuBar(); //菜单JMenu bb = new JMenu("菜单");JMenuItem bb1 = new JMenuItem("清除");JMenuItem bb2 = new JMenuItem("重新开始");JTextField text = new JTextField(); //显示屏JPanel p = new JPanel(); //面板,装前三行JPanel p0 = new JPanel(); //装p和p2JPanel p2 = new JPanel(); //装最后一行按钮double result=0;char ch;int flag=0,n=0;public void go(){b.setPreferredSize(new Dimension(285,20));bb.add(bb1);bb.add(bb2);b.add(bb);text.setText("0");text.setHorizontalAlignment(JTextField.RIGHT); //从右显示p0.setLayout(new BorderLayout());p0.add(p,BorderLayout.NORTH);p0.add(p2,BorderLayout.CENTER);p.setLayout(new GridLayout(3,3,0,0));p2.setLayout(new FlowLayout(FlowLayout.LEFT,0,0));Button b0 = new Button("0"); //按钮b0.setPreferredSize(new Dimension(77,40));Button b1 = new Button("1");b1.setPreferredSize(new Dimension(68, 40));Button b2 = new Button("2");b2.setPreferredSize(new Dimension(68, 40));Button b3 = new Button("3");b3.setPreferredSize(new Dimension(68, 40));Button b4 = new Button("4");b4.setPreferredSize(new Dimension(68, 40));Button b5 = new Button("5");b5.setPreferredSize(new Dimension(68, 40));Button b6 = new Button("6");b6.setPreferredSize(new Dimension(68, 40));Button b7 = new Button("7");b7.setPreferredSize(new Dimension(68, 40));Button b8 = new Button("8");b8.setPreferredSize(new Dimension(68, 40));Button b9 = new Button("9");b9.setPreferredSize(new Dimension(68, 40));Button b10 = new Button("=");b10.setPreferredSize(new Dimension(154, 40));Button b11 = new Button("+");b11.setPreferredSize(new Dimension(68,40));Button b12 = new Button("-");b12.setPreferredSize(new Dimension(68, 40));Button b13 = new Button("*");b13.setPreferredSize(new Dimension(68, 40));Button b14 = new Button("/");b14.setPreferredSize(new Dimension(77,40));p.add(b1);p.add(b2);p.add(b3);p.add(b11);p.add(b4);p.add(b5);p.add(b6);p.add(b12);p.add(b7);p.add(b8);p.add(b9);p.add(b13);p2.add(b0);p2.add(b10);p2.add(b14);frame.add(b,BorderLayout.NORTH);frame.add(text,BorderLayout.CENTER);frame.add(p0,BorderLayout.SOUTH);frame.setPreferredSize(new Dimension(315,300));frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setResizable(false); //不能放大frame.pack();frame.setVisible(true);b0.addActionListener(new ActionA());b1.addActionListener(new ActionA());b2.addActionListener(new ActionA());b3.addActionListener(new ActionA());b4.addActionListener(new ActionA());b5.addActionListener(new ActionA());b6.addActionListener(new ActionA());b7.addActionListener(new ActionA());b8.addActionListener(new ActionA());b9.addActionListener(new ActionA());b10.addActionListener(new ActionD());b11.addActionListener(new ActionF());b12.addActionListener(new ActionF());b13.addActionListener(new ActionF());b14.addActionListener(new ActionF());bb1.addActionListener(new Clear());bb2.addActionListener(new Begin());}public static void main(String[] args){Main m = new Main();m.go();}/** * * 按钮事件 * */class ActionA implements ActionListener{@Overridepublic void actionPerformed(ActionEvent e){n=0;String s1 = e.getActionCommand(); //取按钮上的值double l1 = Double.valueOf(s1);String s2 = text.getText(); //取显示屏上的值double l2=0;if(s2.equals("除数不能为0")){text.setText("0"); l2=0;}else{l2 = Double.valueOf(s2);}if(flag==1){text.setText("0");l2=0;flag=0;}double l3 = l2*10+l1;String s = Double.toString(l3);text.setText(s);}}/** * * 三个符号事件+-/ * */class ActionF implements ActionListener{@Overridepublic void actionPerformed(ActionEvent e){String s1 = text.getText(); //取显示屏上的值double l1 = Double.valueOf(s1);result = l1;//System.out.println(result);text.setText("0");String s2 = e.getActionCommand(); //取按钮上的值char [] c = s2.toCharArray(); //取符号ch = c[0];}}/** * * "/"事件 * */class ActionD implements ActionListener{@Overridepublic void actionPerformed(ActionEvent e){if(n==1)return ;String s1 = text.getText(); //取显示屏上的值double l1 = Double.valueOf(s1);if(s1.equals("0.0")){text.setText("除数不能为0");result = 0;flag = 0;return ;}switch(ch){case '+':result = result + l1;break;case '-':result = result - l1;break;case '*':result = result * l1;break;case '/':result = result / l1;break;}String s = Double.toString(result);text.setText(s);result = 0;flag=1;n=1; //防止按多次“=”}}/** * *重新开始 * */class Begin implements ActionListener{@Overridepublic void actionPerformed(ActionEvent e){result = 0;flag = 0;text.setText("0");}}/** * *清除最后一位 * */class Clear implements ActionListener{@Overridepublic void actionPerformed(ActionEvent e){String s ="0";String s1 = text.getText(); //取显示屏上的值char [] c = s1.toCharArray(); for(int i=0;i<c.length-1;++i){if(i==0){s = Character.toString(c[i]);continue;}s = s + c[i];}text.setText(s);}}}
0 0
- Java计算器(1)
- 简单计算器(java)
- 简易计算器(JAVA)
- 加法计算器(java)
- java课程设计(计算器)
- 计算器(CalculatorBean.java)
- 计算器(Java)
- 计算器(java)
- 计算器(java)
- 简易计算器(Java)
- 简单的计算器(java)
- 简易 计算器 源代码(JAVA)
- Java 电阻计算器(一)
- Java电阻计算器(二)
- java swing示例(计算器)
- java:计算器(填坑)
- Java语言编写计算器(简单的计算器)
- java制作的亲戚计算器(三姑六婆计算器)
- jdk1.6.0不兼容hadoop2.2.0
- 高性能WEB开发(11) - flush让页面分块,逐步呈现
- hdoj 1039
- SQL_Lite
- 正则表达式验证身份证号码
- 计算器(Java)
- 徐新:京东是所投最成功的案子
- javascript笔记
- 【Kinect开发笔记之(一)】初识Kinect
- Linux环境编程之共享内存区(二):Posix共享内存区
- Fedora 删除旧内核
- C++
- ubuntu安装openjdk7
- 基础总结篇之四:Service完全解析