- 浏览: 135189 次
- 性别:
- 来自: 安徽
文章分类
最新评论
-
7_iroy:
竟然没人来评论??不错的学习源码啊,不过LZ没有给出表格,这有 ...
触发器-----------数据库(SQL) -
fatedgar:
best_yuan 写道好像运行不了,缺少spring包
没啊 ...
根据RTF模版输出doc文件(草稿) -
syfye:
请问Linux下中文乱码,遇到过吗?如何解决?
根据RTF模版输出doc文件(草稿) -
best_yuan:
好像运行不了,缺少spring包
根据RTF模版输出doc文件(草稿)
用java编写的计算器
import java.awt.*; import java.awt.event.*; import java.util.*; import javax.swing.*; public class Calculator extends JFrame{ private float op1,op2;//定义两个变量存放需要运算的值 private String str="";//定义str去和text进行交叉赋值 private String opr,co;//opr存放符合,co用来存放复制的内容 private double re;//用来存放运算的结果 private boolean bo=false;//是否进行了+-*/运算 private boolean btime=false;//时间开关 Container contentpane=this.getContentPane(); JPanel panel1=new JPanel(new BorderLayout()), panel2=new JPanel(new FlowLayout()), panel3=new JPanel(new GridLayout(4,5)), panel4=new JPanel(new BorderLayout()), panel5=new JPanel(new BorderLayout()); //菜单栏 JMenuBar menubar=new JMenuBar(); JMenu edit=new JMenu("编辑(E)"), find=new JMenu("查看(V)"), help=new JMenu("帮助(H)"); JMenuItem copy=new JMenuItem("复制(C)",'C'), paste=new JMenuItem("粘贴(P)",'P'), standard=new JMenuItem("标准型(T)",'T'), science=new JMenuItem("科学型(S)",'S'), numarray=new JMenuItem("数字分组(I)",'I'), helptopic=new JMenuItem("帮助主题(H)",'H'), aboutcal=new JMenuItem("关于计算器(A)",'A'); //输入文本框 JTextField text=new JTextField(25); //数字键 JButton one=new JButton("1"), two=new JButton("2"), three=new JButton("3"), four=new JButton("4"), five=new JButton("5"), six=new JButton("6"), seven=new JButton("7"), eight=new JButton("8"), nine=new JButton("9"), zero=new JButton("0"); //功能键 JButton division=new JButton("/"), multiply=new JButton("*"), addition=new JButton("+"), subtration=new JButton("-"), sqrt=new JButton("sqrt"), residual=new JButton("%"), sign=new JButton("+/-"), dot=new JButton("."), reciprocal=new JButton("1/X"), amount=new JButton("="), backspace=new JButton("Backspace"), ce=new JButton("CE"), c=new JButton("C"), time=new JButton("time"); public Calculator() { contentpane.setLayout(new BorderLayout()); //textField文本从右边开始写 text.setHorizontalAlignment(SwingConstants.RIGHT); text.setText("0."); //菜单栏添加 edit.add(copy); edit.add(paste); find.add(standard); find.add(science); find.addSeparator(); find.add(numarray); help.add(helptopic); help.addSeparator(); help.add(aboutcal); //把组件添加至容器中 menubar.add(edit); menubar.add(find); menubar.add(help); panel1.add(menubar,"North"); panel1.add(text,"West"); //添加数字、功能键至panel2、panel3 panel2.add(backspace); panel2.add(ce); panel2.add(c); panel2.add(time); panel3.add(seven); panel3.add(eight); panel3.add(nine); panel3.add(division); panel3.add(sqrt); panel3.add(four); panel3.add(five); panel3.add(six); panel3.add(multiply); panel3.add(residual); panel3.add(one); panel3.add(two); panel3.add(three); panel3.add(subtration); panel3.add(reciprocal); panel3.add(zero); panel3.add(sign); panel3.add(dot); panel3.add(addition); panel3.add(amount); panel4.add(panel2,"North"); panel4.add(panel3,"West"); panel5.add(panel1,"North"); panel5.add(panel4,"West"); contentpane.add(panel5,"North"); //事件 //助记符 edit.setMnemonic('E'); find.setMnemonic('V'); help.setMnemonic('H'); //快捷键 KeyStroke kcopy=KeyStroke.getKeyStroke(KeyEvent.VK_C,Event.CTRL_MASK); copy.setAccelerator(kcopy); KeyStroke kpaste=KeyStroke.getKeyStroke(KeyEvent.VK_V,Event.CTRL_MASK); paste.setAccelerator(kpaste); //0-9、.的显示事件 actionlistener1 al1=new actionlistener1(); one.addActionListener(al1); two.addActionListener(al1); three.addActionListener(al1); four.addActionListener(al1); five.addActionListener(al1); six.addActionListener(al1); seven.addActionListener(al1); eight.addActionListener(al1); nine.addActionListener(al1); //小数点的ActionListener事件 dot.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ int count; count=str.length(); //1.第一位就为.时改变text中内容为:"0." if(count==0){ str="0."; text.setText(str); } //2.不可以重复按"." else {if(!str.contains(".")){ str+="."; text.setText(str); } else System.out.println("您再点的话,输入的将不再是小数了!"); } } }); //如果第一位是0那么第二位就不可以为0 zero.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ int count; count=str.length(); if(bo){ if(!(str.contains("0")&&count==1)){ str=""; str+="0"; text.setText(str); }else System.out.println("您再点的话,输入的将不再是数字了!"); } else{ if(!(str.contains("0")&&count==1)){ str+="0"; text.setText(str); }else System.out.println("您再点的话,输入的将不再是数字了!"); } bo=false; } }); //+、-、*、/、%运算 actionlistener3 al3=new actionlistener3(); addition.addActionListener(al3); subtration.addActionListener(al3); multiply.addActionListener(al3); division.addActionListener(al3); residual.addActionListener(al3); //CE和C清空按钮时间 actionlistener2 al2=new actionlistener2(); ce.addActionListener(al2); c.addActionListener(al2); //退格键 backspace.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ int count; count=str.length()-1; if(bo==false){ if(count>=0){ str=str.substring(0,count); text.setText(str); } else text.setText("0."); }else System.out.println("您现在正进行法则运算!"); } }); //求平方根 sqrt.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ int count; count=str.length(); if(count!=0){ op1=Float.parseFloat(text.getText()); re=Math.sqrt(op1); String str1=String.valueOf(re); text.setText(str1); str=""; } else System.out.println("您现在的按sqrt键毫无意义"); } }); //求倒数 reciprocal.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ int count; count=str.length(); if(count!=0){ op1=Float.parseFloat(text.getText()); if(op1!=0){ re=1/op1; String str1=String.valueOf(re); text.setText(str1); str=str1; } else{ text.setText("除数不可以为0的"); str=""; } } else System.out.println("您现在的按1/X键毫无意义"); } }); //=事件 amount.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ op2=Float.parseFloat(str); //需判断进行那种运算法则 if(opr=="+"){//加法运算 re=op1+op2; String str1=String.valueOf(re); text.setText(str1); str=String.valueOf(re); }else{ if(opr=="-"){//减法运算 re=op1-op2; String str1=String.valueOf(re); text.setText(str1); str=String.valueOf(re); }else{ if(opr=="*"){//乘法运算 re=op1*op2; String str1=String.valueOf(re); text.setText(str1); str=String.valueOf(re); }else{ if(opr=="/"&&op2!=0){//除法运算 re=op1/op2; String str1=String.valueOf(re); text.setText(str1); str=String.valueOf(re); }else{ if(opr=="%"){//取余运算 re=op1%op2; String str1=String.valueOf(re); text.setText(str1); str=""; } else if(op2==0){ text.setText("除数不可以为0的"); str=""; } } } } } //打印看看 System.out.print(op1); System.out.print(opr); System.out.print(op2+"="); System.out.print(re); System.out.println(); } }); //复制事件 copy.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ int count; count=str.length(); if(count!=0){ co=text.getText(); } else System.out.println("没有可复制的对象"); } }); //粘贴事件 paste.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ str=co; text.setText(str); } }); //时间事件 time.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ if(btime==false){ String st=(new Date()).toString(); text.setText(st); str=""; btime=true; } else{ text.setText(str); btime=false; } } }); //+/-事件 sign.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ int a=Integer.valueOf(str).intValue(); a=a*(-1); str=String.valueOf(a); text.setText(str); } }); } //定义1-9按钮在text中显示的内部类 class actionlistener1 implements ActionListener{ public void actionPerformed(ActionEvent e){ JButton button=(JButton)e.getSource(); String btext=button.getText(); //如果第一位为0再输入其他非零的整数时将零忽略 if(bo){ if(str.indexOf("0")==0&&str.length()==1){ str=""; str+=btext; text.setText(str); }else{ str=""; str+=btext; text.setText(str);} }else{ if(str.indexOf("0")==0&&str.length()==1){ str=""; str+=btext; text.setText(str); }else{ str+=btext; text.setText(str); } } bo=false; } } //定义清空text中内容的内部类 class actionlistener2 implements ActionListener{ public void actionPerformed(ActionEvent e){ str=""; text.setText("0."); } } //定义+、-、*、/、%运算的内部类 class actionlistener3 implements ActionListener{ public void actionPerformed(ActionEvent e){ int count; count=str.length(); if(count!=0){ JButton button=(JButton)e.getSource(); opr=button.getText(); op1=Float.parseFloat(str); bo=true; } else System.out.println("您现在的按键毫无意义!"); } } public static void main(String[] args){ Calculator cc=new Calculator(); cc.pack(); cc.setResizable(false);//不可最大化 cc.setVisible(true); cc.setTitle("计算器"); cc.setDefaultCloseOperation(EXIT_ON_CLOSE); Dimension scmsize=Toolkit.getDefaultToolkit().getScreenSize(); int w=cc.getSize().width; int h=cc.getSize().height; int x=(scmsize.width-w)/2; int y=(scmsize.height-h)/2; cc.setLocation(x, y); } }
发表评论
-
数字转大写
2015-01-29 09:35 686int型整数转人民币大写 下面的方法中去零那块处理可能会不对… ... -
java排序
2015-01-28 11:14 724冒泡排序、选择排序和快速排序: package com.f ... -
java写入文件(txt)
2015-01-26 11:44 1097FileOutputStream public class ... -
java读取文件(txt)
2015-01-26 11:05 1448FileInputStream public class F ... -
String和int转换方法
2015-01-22 09:41 1032String转int 前提是String的内容得是数字,不然 ... -
assert(断言)杂谈
2015-01-20 09:45 1024assertion(断言)是jdk1.4才开始支持的新功能 ... -
JDBC
2012-05-07 15:54 1126自己写个jdbc工具类如下: package ToolCl ... -
Java程序---素数
2012-04-18 11:02 864package com.junlin; import j ... -
MyEclipse 6.5 序列号生成器
2012-02-22 13:29 1322package com.happysys; impo ... -
BigDecimal实例
2012-02-12 16:27 2076package com.niit; import jav ... -
Java选择排序算法
2012-02-10 12:46 848package com.niit; import jav ... -
Java冒泡排序算法
2012-02-10 10:07 1236package com.niit; //冒泡排序 pu ... -
MD5加密
2011-11-16 19:21 1212/*MD5加密密码存入数据库,可以一定防止假如数据库被破而不太 ... -
100的阶乘
2011-11-15 20:25 1773最初的想法(错误的想法):代码如下/** * 计算100的 ...
相关推荐
从标题中可以看出,这是一个关于使用 Java 编写计算器程序的过程详解,包括代码实现细节。 描述:“利用 Java 编写的计算器程序,带有音乐播放功能,和比较完整的三角函数计算” 从描述中可以看出,该计算器程序...
用Java编写的小计算器可以实现加减乘除
### 使用Java编写的计算器程序(模拟Windows计算器) #### 一、项目概述 本文档介绍了一个使用Java语言编写的简易计算器程序,该程序旨在模仿Windows系统的内置计算器功能。通过本项目,用户可以执行基本的数学...
在本篇论文中,作者张钰婕以"用java编写计算器"为主题,进行了一个简单的计算器系统的开发,旨在通过这个项目来提升Java编程技能和面向对象的设计理解。这篇论文的目的是结合理论学习,加强学生的实际操作能力和独立...
在Java编程语言中,创建一个计算器程序是一项基础但重要的练习,它可以帮助初学者更好地理解和运用基本的编程概念,如控制流程、数据类型、运算符以及类与对象的使用。在这个项目中,我们将深入探讨如何使用Java来...
### 使用Java编写的计算器程序(模拟Windows计算器) #### 一、概述 本篇文章介绍的是一个使用Java语言编写的简易计算器程序,该程序旨在模仿Windows系统自带的计算器功能。通过使用Swing图形用户界面库,作者构建...
在Java编程语言中,创建一个简单的计算器涉及到基本的算术运算和用户输入处理。下面将详细介绍如何使用Java来实现这样一个计算器。...通过这种方式,可以理解如何用Java实现一个基础的计算器应用。
用JAVA编写计算器小程序的实现用java实现计算器小程序的编写用java实现计算器小程序的编写用java实现计算器小程序的编写用java实现计算器小程序的编写
采用java 编写的一个小计算器程序 对于入门级java程序员了解界面设计有一定的帮助
标题中的“用Java编写的计算器小程序”指的是使用Java编程语言设计和实现的一个小型应用程序,它具备基本的计算功能,如加、减、乘、除等。这个计算器可能是一个命令行界面应用,也可能具有图形用户界面(GUI)。 ...
Java 编写计算器程序(模拟 Windows 计算器) 摘要:本文主要讲述如何使用 Java 编写一个计算器程序,以模拟 Windows 计算器的功能。该程序使用 Java 的图形用户界面(GUI)编程技术,实现了计算器的基本运算功能,...
Java 编写的计算器是一个基础但实用的编程项目,它展示了如何使用Java语言来实现一个图形用户界面(GUI)程序。这个计算器可能包含了基本的数学运算,如加、减、乘、除,以及可能的一些特殊功能,如求平方根、百分比...
### JAVA编写计算器的知识点 #### 一、项目概述 该项目是一个使用Java语言开发的简易计算器应用程序,其设计灵感来源于Windows系统的内置计算器。该计算器具备基本的数学运算功能,包括加、减、乘、除等,并且支持...
编写计算器程序是学习编程基础知识,如控制流、数据类型和函数调用的一个经典练习。 1. **基础概念**:首先,我们需要理解JAVA的基础概念,包括类(Class)、对象(Object)、方法(Method)以及变量(Variable)。...
用java编写的一个计算器程序,可实现系统计算器的基本功能
用java编写的计算器applet程序可以实现连程程的