`
小篮子java的家
  • 浏览: 32085 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

计算器的实现

阅读更多

------------简单计算器的实现--------------
package net.java.t071201;
 //使用import把JMenuBar引入到当前类,下边时候的时候就不需要在写包名,直接用类名就可以。

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

/**
 * 定义一个Counter类
 * 
 * @author 汤剑男
 */
 public class Counter {
	// 主函数
	public static void main(String[] args) {
		// 实例化一个对象
		Counter jf = new Counter();
		jf.display();
	}

	// 定义一个显示方法
	public void display(){
		javax.swing.JFrame a = new javax.swing.JFrame("计算器");
		a.setSize(400, 520);
		a.setResizable(false);
		a.setLocationRelativeTo(null);
		a.setDefaultCloseOperation(2);
		// java.awt.FlowLayout b =new java.awt.FlowLayout();
		a.setLayout(null);
		// 实例化一个菜单栏对象
		JMenuBar mb = new JMenuBar();
		// 实例化一个菜单项
		JMenu menu1 = new JMenu("查看(V)");

		// 实例化菜单子项
		JMenuItem menu1Item1 = new JMenuItem("打开");
		menu1.add(menu1Item1);

		JMenu menu2 = new JMenu("编辑(E)");
		JMenu menu3 = new JMenu("帮助(V)");
		// 把菜单添加到菜单栏中
		mb.add(menu1);
		mb.add(menu2);
		mb.add(menu3);
		// 设置窗体有菜单栏
		a.setJMenuBar(mb);
		// javax.swing.JLabel c = new javax.swing.JLabel("查看(V)");
		// c.setBounds(20, 0, 60, 30);
		// a.add(c);
		// javax.swing.JLabel d = new javax.swing.JLabel("编辑(E)");
		// d.setBounds(150, 0, 60, 30);
		// a.add(d);
		// javax.swing.JLabel e = new javax.swing.JLabel("帮助(H)");
		// e.setBounds(320, 0, 60, 30);
		// a.add(e);
		final javax.swing.JTextField f = new javax.swing.JTextField(20);
		f.setBounds(20, 20, 360, 80);
		a.add(f);
		javax.swing.JButton g = new javax.swing.JButton("MC");
		// 设置前景色
		g.setForeground(Color.RED);
		g.setBounds(10, 120, 60, 40);
		a.add(g);
		javax.swing.JButton h = new javax.swing.JButton("MR");
		h.setBounds(90, 120, 60, 40);
		a.add(h);
		javax.swing.JButton i = new javax.swing.JButton("MS");
		i.setBounds(170, 120, 60, 40);
		a.add(i);
		javax.swing.JButton j = new javax.swing.JButton("M+");
		j.setBounds(250, 120, 60, 40);
		a.add(j);
		javax.swing.JButton k = new javax.swing.JButton("M-");
		k.setBounds(330, 120, 60, 40);
		a.add(k);
		javax.swing.JButton g1 = new javax.swing.JButton("<—");
		g1.setBounds(10, 180, 60, 40);
		a.add(g1);
		javax.swing.JButton h1 = new javax.swing.JButton("CE");
		h1.setBounds(90, 180, 60, 40);
		a.add(h1);
		javax.swing.JButton i1 = new javax.swing.JButton("C");
		i1.setBounds(170, 180, 60, 40);
		i1.setActionCommand("C");
		a.add(i1);
		javax.swing.JButton j1 = new javax.swing.JButton("±");
		j1.setBounds(250, 180, 60, 40);
		a.add(j1);
		javax.swing.JButton k1 = new javax.swing.JButton("√");
		k1.setBounds(330, 180, 60, 40);
		a.add(k1);
		javax.swing.JButton g2 = new javax.swing.JButton("7");
		g2.setBounds(10, 240, 60, 40);
		g2.setActionCommand("7");
		a.add(g2);
		javax.swing.JButton h2 = new javax.swing.JButton("8");
		h2.setBounds(90, 240, 60, 40);
		h2.setActionCommand("8");
		a.add(h2);
		javax.swing.JButton i2 = new javax.swing.JButton("9");
		i2.setBounds(170, 240, 60, 40);
		i2.setActionCommand("9");
		a.add(i2);
		javax.swing.JButton j2 = new javax.swing.JButton("/");
		j2.setBounds(250, 240, 60, 40);
		j2.setActionCommand("/");
		a.add(j2);
		javax.swing.JButton k2 = new javax.swing.JButton("%");
		k2.setBounds(330, 240, 60, 40);
		a.add(k2);
		javax.swing.JButton g3 = new javax.swing.JButton("4");
		g3.setBounds(10, 300, 60, 40);
		g3.setActionCommand("4");
		a.add(g3);
		javax.swing.JButton h3 = new javax.swing.JButton("5");
		h3.setBounds(90, 300, 60, 40);
		h3.setActionCommand("5");
		a.add(h3);
		javax.swing.JButton i3 = new javax.swing.JButton("6");
		i3.setBounds(170, 300, 60, 40);
		i3.setActionCommand("6");
		a.add(i3);
		javax.swing.JButton j3 = new javax.swing.JButton("*");
		j3.setBounds(250, 300, 60, 40);
		j3.setActionCommand("*");
		a.add(j3);
		javax.swing.JButton k3 = new javax.swing.JButton("1/x");
		k3.setBounds(330, 300, 60, 40);
		a.add(k3);
		javax.swing.JButton g4 = new javax.swing.JButton("1");
		g4.setBounds(10, 360, 60, 40);
		g4.setActionCommand("1");
		a.add(g4);
		javax.swing.JButton h4 = new javax.swing.JButton("2");
		h4.setBounds(90, 360, 60, 40);
		h4.setActionCommand("2");
		a.add(h4);
		javax.swing.JButton i4 = new javax.swing.JButton("3");
		i4.setBounds(170, 360, 60, 40);
		i4.setActionCommand("3");
		a.add(i4);
		javax.swing.JButton j4 = new javax.swing.JButton("-");
		j4.setBounds(250, 360, 60, 40);
		j4.setActionCommand("-");
		a.add(j4);
		javax.swing.JButton k4 = new javax.swing.JButton("=");
		k4.setBounds(330, 360, 60, 100);
		k4.setActionCommand("=");
		a.add(k4);
		javax.swing.JButton g5 = new javax.swing.JButton("0");
		g5.setBounds(10, 420, 140, 40);
		g5.setActionCommand("0");
		a.add(g5);
		javax.swing.JButton h5 = new javax.swing.JButton(".");
		h5.setBounds(170, 420, 60, 40);
		h5.setActionCommand(".");
		a.add(h5);
		javax.swing.JButton i5 = new javax.swing.JButton("+");
		i5.setBounds(250, 420, 60, 40);
		i5.setActionCommand("+");
		a.add(i5);

		ActionListener al = new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if (e.getActionCommand().equals("=")) {
					items=1;
					operation(f);
					test=5;
					
				} else if (e.getActionCommand().equals("+")) {
					items=1;
					operation(f);
					test=1;
					
					
				} else if (e.getActionCommand().equals("-")) {
					items=1;
					operation(f);
					test=2;
					
				} else if (e.getActionCommand().equals("*")) {
					items=1;
					operation(f);
					test=3;
					

				} else if (e.getActionCommand().equals("/")) {
					items=1;
					operation(f);
					test=4;
					} 
				else if(e.getActionCommand().equals("C")){
					f.setText("");
					 count = 0;
				     items =0;
					 test=0;
					 temp=0;
				}
				else {
					if(items==0){
					String str = f.getText();
					str += e.getActionCommand();
					f.setText(str);// 为什么要把f定义成final
					}
					else{
						f.setText("");
						String str = e.getActionCommand();
						f.setText(str);
						items=0;
					}
					
				
				}
			}

		};
		i1.addActionListener(al);
		g2.addActionListener(al);
		h2.addActionListener(al);
		i2.addActionListener(al);
		j2.addActionListener(al);
		g3.addActionListener(al);
		h3.addActionListener(al);
		i3.addActionListener(al);
		j3.addActionListener(al);
		g4.addActionListener(al);
		h4.addActionListener(al);
		i4.addActionListener(al);
		j4.addActionListener(al);
		k4.addActionListener(al);
		g5.addActionListener(al);
		h5.addActionListener(al);
		i5.addActionListener(al);
		a.setVisible(true);
	}
	public final void operation(javax.swing.JTextField f){
		if (count == 0) {
			// 得到点击加号之前文本框中的值
			value1 = f.getText();
			temp = Integer.parseInt(value1);
			count++;
		} else if (count >= 1) {
			value2 = f.getText();
			if(test==1){
			  temp =temp+ Integer.parseInt(value2);
			  f.setText( temp + "");
			  count++;}
			else if(test==2){ temp =temp-Integer.parseInt(value2);
			  f.setText( temp + "");
			  count++;	
			}
			else if(test==3){temp =temp*Integer.parseInt(value2);
			  f.setText( temp + "");
			  count++;
         }
			else if (test==4){
				temp =temp/Integer.parseInt(value2);
			  f.setText( temp + "");
			  count++;	
			}
			else if (test==5){
			  f.setText( temp + "");
			  count++;	
			}
			}
	}
	// 存储值的
	private String value1;
	private String value2;
	// 计数器
	private int count = 0;
	private int items =0;
	private int test=0;
	private int temp=0;
}

  • 大小: 39.1 KB
  • 大小: 42.7 KB
  • 大小: 39.1 KB
分享到:
评论

相关推荐

    Android计算器实现源代码

    在这个计算器实现中,最常用的是Activity,它是用户界面和交互的主要载体。计算器的每个屏幕或功能通常对应一个Activity。 UI设计方面,Android使用XML布局文件来定义用户界面。计算器的界面通常会包含数字按钮(0-...

    简单计算器实现加减乘除

    简单计算器,实现加减乘除,编写Windows环境下图形用户界面程序,只是C++语言的众多应用领域之一。MFC库是一种C++基础库,为Windows这一特定的操作系统环境下的图形用户界面程序提供了强大的支持。

    visual C++ 计算器实现

    在本项目中,我们关注的是"Visual C++ 计算器实现",这是一个基于Microsoft的C++编程环境,用于创建一个基本的计算工具。Visual C++ 提供了丰富的功能和库支持,使得开发者能够构建复杂的桌面应用程序,而这里的任务...

    jisuanqi.rar_cvi计算器实现

    在本案例中,我们关注的是“jisuanqi.rar_cvi计算器实现”,这是一个利用LabWindows/CVI开发的计算器程序。 1. CVI编程基础: CVI(Controlled Vocabulary Interpreter)的核心是其内置的C语言编译器,允许开发者...

    中缀表达式计算器实现

    嵌入式系统期末设计:计算器实现中的数据结构获取中缀表达式输出结果

    计算器实现

    在IT领域,计算器实现是一个基础但重要的概念,它涉及到编程语言、算法设计和软件工程等多个方面。本项目名为"计算器实现",其中包含的源代码很可能是用某种编程语言编写的,用于创建一个简单的计算器应用或者是一个...

    数据结构课程设计--计算器实现java代码

    在本项目中,"数据结构课程设计--计算器实现java代码"是一个典型的计算机科学与技术相关的课程设计任务,主要目标是利用Java编程语言实现一个计算器。这个任务涉及到许多关键的编程和数据结构概念,包括但不限于: ...

    gtk 简单计算器实现

    linux c 下gtk+2.0 简单计算器实现

    Android复杂计算器实现

    这个项目旨在帮助初学者掌握Android应用开发的基本技巧,并通过实现一个包含正弦、余弦等数学函数的计算器,进一步了解如何处理复杂的计算逻辑。 首先,我们需要了解Android应用的基本结构。一个标准的Android应用...

    C++计算器实现-源码(含项目设计说明书)

    在本项目中,"C++计算器实现-源码(含项目设计说明书)"是一个典型的编程实践,它展示了如何使用C++语言构建一个功能完备的计算器程序。这个项目不仅包括了计算器的源代码,还附带了一份项目设计说明书,这对于学习...

    基于栈的简易计算器实现(C)

    在编程领域,基于栈的简易计算器是一种常见的实现方式,它主要应用于解析和计算简单的算术表达式。本文将深入探讨如何使用C语言实现这样一个计算器,同时也会涉及栈数据结构、泛型编程以及递归下降分析等核心概念。 ...

    单片机设计计算器 实现加减乘除简单功能

    单片机设计计算器 实现加减乘除简单功能 能处理四个字节的数据

    java 计算器 实现+ - * /

    java 计算器 实现+ - * / 老师布置的期末考核作业,代码很简短,非常容易看懂

    基于JS的计算器实现

    基于JavaScript的网页计算器实现,源代码,可完好地运行。

    基于Java的语音计算器实现.pdf

    基于Java的语音计算器实现.pdf

    HTML计算器实现加减乘除

    HTML编写简单的计算器实现加减乘除

    简单计算器!用C#写的比较基础的windows Form 程序,该计算器实现了基础的数学运算,如加,减,乘,除等任务.主要是通过该程序学习vs.net的

    用C#写的比较基础的windows Form 程序,该计算器实现了基础的数学运算,如加,减,乘,除等任务.主要是通过该程序学习vs.net的  编程环境,以及windows Form程序.主要针对初学者

    可视化的JAVA计算器实现

    在IT领域,可视化JAVA计算器的实现是一个典型的GUI(图形用户界面)编程项目,它涉及到Java的基础知识、Swing或JavaFX库以及事件处理等概念。下面将详细解释这些知识点。 首先,Java是一种广泛使用的面向对象的编程...

    c#计算器实现 代码 功能齐全计算器

    下面我们将深入探讨这个计算器的实现细节及其相关知识点。 首先,我们需要理解C#中的Windows Forms应用程序框架,这是创建桌面应用程序的基础。在Visual Studio中,我们可以使用Windows Forms Designer来设计计算器...

    编译原理课程设计-简单计算器实现.doc

    编译原理课程设计-简单计算器实现.doc

Global site tag (gtag.js) - Google Analytics