文档库 最新最全的文档下载
当前位置:文档库 › Java编写一个计算器程序

Java编写一个计算器程序

Java编写一个计算器程序
Java编写一个计算器程序

信息科学与技术学院《Java语言课程设计》报告

题目:编写一个计算器程序

专业:计算机科学与技术

班级:

学号:

姓名:

目录

一、概述 (3)

1.1设计目的及思路 (3)

1.2功能模块设计 (3)

1.3程序结构(流程图) (4)

二、计算器的设计与实现 (4)

2.1程序界面 (4)

2.2程序源代码 (5)

三、参考文献 ........................... 错误!未定义书签。

一、概述

1.1设计目的及思路

通过本课程设计使学生能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。利用Java Applet图形界面首先开始设计一个计算器的界面,定义计算器所需要的按钮并赋给其按钮名称,使得使用计算器时简单明了,清晰可见,操作轻松。

给各个按钮进行算法,利用鼠标点击事件,当鼠标点击某个按钮时就开始执行那个按钮所定义的算法,生成数据并显示。

除数字的输入为直接进行输入外,其他运算例如+、-、*、/、开平方等算法要求计算时通过内部较为复杂的运算将结果显示在显示屏上。

至于其中的进制转换功能的实现则是直接调用Java中进制转换的函数,例如要将十进制转换成二进制则可直接调用函数Integer.toBinaryString(int i)来实现,充分显示了Java语言的简洁性和Java语言功能的强大性。

当然了在输入数据时还要进行异常捕捉,防止越界的现象的发生,这也是Java语言健壮性的体现!

1.2功能模块设计

(1)加法:两个数据进行加操作,可以为小数。

(2)减法:两个数据进行减操作,可以为负数相减。

(3)乘法:两个数相乘操作。

(4)除法:两个数相除操作。

(5)阶乘:对任意一个数进行阶乘运算。

(6)指数:对任意一个数进行指数运算。

(7)倒数:对任意一个数进行倒数运算。

1.3程序结构(流程图) 计算器

四则运算

其他运算清零

加减乘除阶

乘指数

撤消

二、计算器的设计与实现

2.1程序界面

2.2程序源代码

package mine;

import java.awt.*;

import java.awt.event.*;

public class Calculator implements ActionListener{

private double data1=0.0,data2=0.0;

private String t_content;

boolean number=false;

//key用标示用户所按按钮即加减乘除

//key0标示+1表示-2表示*3表示/

short key=-1;

//pkey取值-1~5

//pkey-1表示第按=按钮5说明第按=按钮

//pkey其值0,1,2,3别代表+-,*/

short pkey=-1;

Frame frame=new Frame("计算器");//定义标题Calculator窗体

TextField textfield=new TextField(30);//定义计算机

//定义backspace,ce,c0按钮

Button backspace=new Button("退格");

Button ce=new Button("撤消");

Button c0=new Button("清空");

//定义面板其backspace,ce,c0按钮计算机栏textfeild放面板p1

//其余按钮放面板p2

Panel p1=new Panel();

Panel p2=new Panel();

//定义界面按钮数组即除backspace,ce,c0按钮所按钮

String

names[]={"7","8","9","/","sqrt","4","5","6","*","%","1","2","3","-","

1/x","0","+/-",".","+","="};

Button bb[]=new Button[names.length];

public static void main(String[] args){

Calculator cal=new Calculator();

cal.go();

}

public void go(){

frame.setSize(300,200);

frame.setLayout(new BorderLayout());

Font fonts=new Font("楷体_GB2312",Font.PLAIN,12);

//设置面板p1字体布局管理类型textfeild象添加面板

p1.setFont(fonts);

p1.setLayout(new GridLayout(2,1,5,10));

textfield.setFont(fonts);

p1.add(textfield,null);

//backspace,ce,c0按钮注册addActionListener backspace.addActionListener(this);

ce.addActionListener(this);

c0.addActionListener(this);

//backspace,ce,c0按钮添加p1面板

p1.add(backspace,null);

p1.add(ce,null);

p1.add(c0,null);

//设置面板p2布局管理器类型GridLayout

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

//按钮组按钮注册addActionListener

for(int i=0;i

bb[i]=new Button(names[i]);

p2.add(bb[i]);

bb[i].addActionListener(this);

}

//设置面板p1面板p2窗体位置

//面板p1窗体North向面板p2窗体South向

frame.add(p1,BorderLayout.NORTH);

frame.add(p2,BorderLayout.SOUTH);

frame.setVisible(true);

//单击关闭按钮退系统

frame.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

System.exit(0);

}

});

}

public void actionPerformed(ActionEvent ae){ String s;

//通ActionEvent类getActionCommand()作由哪按钮触发 s=ae.getActionCommand();

//用户单击计算栏便掉字符

//先计算栏字符清空再添加除字符字符串

if(s.equals("退格")&&number){

t_content=textfield.getText();

textfield.setText("");

for(int i=0;i

char c=t_content.charAt(i);

textfield.setText(textfield.getText()+c);

}

}

//用户单击撤消按钮

if(s.equals("撤消")){

textfield.setText("");

number=false;

}

//用户单击清空按钮

if(s.equals("清空")){

textfield.setText("");

data1=data2=0.0;

number=false;

}

//用户单击sqrt按钮其负数能

if(s.equals("sqrt")&&number){

t_content=textfield.getText();

if(t_content.charAt(0)=='-'){

textfield.setText("负数能");

number=false;

}else{

textfield.setText(Double.toString(https://www.wendangku.net/doc/4e15069612.html,ng.Math.sqrt(Double.parseDou

ble(t_content))));

}

}

//用户单击1/x求倒数按钮求倒数母能0

if(s.equals("1/x") && number){

t_content=textfield.getText();

if(t_content.equals("0")){ textfield.setText("零能求倒数");

number=false;

}else{

textfield.setText(Double.toString(1/Double.parseDouble(t_content)));

}

}

//用户单击%按钮

if(s.equals("%")&&number){

if(data2==0){

t_content=textfield.getText();

textfield.setText(t_content);

}else{

boolean g=false;

for(int i=0;i

if('.'==textfield.getText().charAt(i)){

g=true;

break;

}

//Double 数除100

if(g=true){

double dtemp=Double.parseDouble(textfield.getText());

dtemp=dtemp/100.0;

textfield.setText(Double.toString(dtemp));

}

//int数能100整除则掉末尾两0

else{

if(Integer.parseInt(textfield.getText())%100==0){

int itemp=Integer.parseInt(textfield.getText());

itemp/=100;

textfield.setText(Integer.toString(itemp));

}

//int数能100整除则按Double数处理

else{

double dtemp=Double.parseDouble(textfield.getText());

dtemp=dtemp/100.0;

textfield.setText(Double.toString(dtemp));

}

}

} }

//负数字处理

if(s.equals("+/-")){

t_content=textfield.getText();

if(t_content.charAt(0)=='-'){

textfield.setText("");

String content;

for(int i=1;i

textfield.setText(textfield.getText()+t_content.charAt(i));

}

}else{

textfield.setText("-"+t_content);

}

}

//所按按钮+按钮

if(s.equals("+")){

switch(pkey){

case 0:

data2+=Double.parseDouble(textfield.getText());

break;

case 1:

data2+=Double.parseDouble(textfield.getText());

break;

case 2:

data2+=Double.parseDouble(textfield.getText());

break;

case 3:

if(textfield.getText().equals("0")){

textfield.setText("除数能零");

number=false;

}else{

key=-1;

data2/=data1;

textfield.setText(Double.toString(data2));

break;

}

default:

data2=Double.parseDouble(textfield.getText());

}

pkey=key=0;

textfield.setText("");

}

//所按按钮-按钮

if(s.equals("-")){

switch(pkey){

case 0:

data2+=Double.parseDouble(textfield.getText());

break;

case 1:

data2+=Double.parseDouble(textfield.getText());

break;

case 2:

data2+=Double.parseDouble(textfield.getText());

break;

case 3:

if(textfield.getText().equals("0")){

textfield.setText("除数能零");

number=false;

}else{

key=-1;

data2/=data1;

textfield.setText(Double.toString(data2));

break;

}

default:

data2=Double.parseDouble(textfield.getText());

}

pkey=key=1;

textfield.setText("");

}

//所按按钮*按钮

if(s.equals("*")){

switch(pkey){

case 0:

data2+=Double.parseDouble(textfield.getText());

break;

case 1:

data2+=Double.parseDouble(textfield.getText());

break;

case 2:

data2+=Double.parseDouble(textfield.getText());

break;

case 3:

if(textfield.getText().equals("0")){ textfield.setText("除数能零");

number=false;

}else{

key=-1;

data2/=data1;

textfield.setText(Double.toString(data2));

break;

}

default:

data2=Double.parseDouble(textfield.getText());

}

pkey=key=2;

textfield.setText("");

}

//所按按钮/按钮

if(s.equals("/")){

switch(pkey){

case 0:

data2+=Double.parseDouble(textfield.getText());

break;

case 1:

data2+=Double.parseDouble(textfield.getText());

break;

case 2:

data2+=Double.parseDouble(textfield.getText());

break;

case 3:

if(textfield.getText().equals("0")){

textfield.setText("除数能零");

number=false;

}else{

key=-1;

data2/=data1;

textfield.setText(Double.toString(data2));

break;

}

default:

data2=Double.parseDouble(textfield.getText());

}

pkey=key=3;

textfield.setText("");

}

//所按按钮=求结

if(s.equals("=")&&number){

//第按=按钮

if(pkey==5){

switch(pkey){

case 0:

data2+=data1;

textfield.setText(Double.toString(data2));

break;

case 1:

data2-=data1;

textfield.setText(Double.toString(data2));

break;

case 2:

data2*=data1;

textfield.setText(Double.toString(data2));

break;

case 3:

if(textfield.getText().equals("0")){

textfield.setText("除数能零");

number=false;

}else{

data2/=data1;

textfield.setText(Double.toString(data2));

break;

}

}

}

//第按=按钮

else{

data1=Double.parseDouble(textfield.getText());

switch(key){

case 0:

key=-1;

data2+=Double.parseDouble(textfield.getText()); textfield.setText(Double.toString(data2));

break;

case 1:

key=-1;

data2-=Double.parseDouble(textfield.getText());

textfield.setText(Double.toString(data2));

break;

case 2:

key=-1;

data2*=Double.parseDouble(textfield.getText());

textfield.setText(Double.toString(data2));

break;

case 3:

if(textfield.getText().equals("0")){

textfield.setText("除数能零");

number=false;

}else{

key=-1;

data2/=Double.parseDouble(textfield.getText());

textfield.setText(Double.toString(data2));

break;

}

}

}

pkey=5;

}

//按按钮数字按钮

else{

switch(s.charAt(0)){

case'0':

case'1':

case'2':

case'3':

case'4':

case'5':

case'6':

case'7':

case'8':

case'9':

number=true;

textfield.setText(textfield.getText()+s);

break;

//.处理

case'.':

t_content=textfield.getText();

boolean g=false;

//计算机栏数据进行检验

//其数点则用户单击该按钮添加数点

for(int i=0;i

if(t_content.charAt(i)=='.'){

g=true;

break;

}

}

//数据已经数点

if(g==true)

break;

// 数据没数点用户单击数点添加数点

if(g==false)

textfield.setText(t_content+".");

}

}

}

private String Integer(String string) {

// TODO Auto-generated method stub

return null;

}

}

三、参考文献

[1]曲朝阳,杨杰明等.Java程序设计. 北京: 清华大学出版社,2008.10

[2]耿祥以,张跃平.Java大学生实用教程. 北京: 电子工业出版社,2012.6

[3]明日科技.Java经典编程.北京:清华大学出版社,2012.10

[4]李尊朝,苏军.Java语言程序设计.北京:中国铁道出版社,2004.2

[5]王博. 面向对象的建模、设计技术与方法. 北京希望电脑公司,1990

java简单计算器源代码

简单计算器代码 package calcultorthree; import java.awt.BorderLayout;//导入边界布局管理器类 import java.awt.GridLayout;//导入网格布局管理器类 import java.awt.TextField;//导入文本区域类 import java.awt.event.ActionEvent;//导入事件类 import java.awt.event.ActionListener;//导入事件监听者类 import javax.swing.JButton;//导入按钮类 import javax.swing.JFrame;//导入窗体 import javax.swing.JPanel;//导入面板 /** *本例实现了简单计算器代码,具备加减乘除和正弦功能,旨在抱砖引玉。熟悉java的同学,可以在此基础上实现更复杂的功能。 * @author Fjsh */ public class CalcultorThree { //新建对象,在构造函数中进行初始化 JFrame frame;//新建窗体对象 JButton buttonzero,buttondot,buttonequal;//新建按钮“0”“.”“=” JButton buttonplus,buttonminus,buttonmultiple,buttondevision, buttonsin,buttontozero;//新建按钮“+”“-”“*”“/”“sin”和归零按钮JButton buttonone,buttontwo,buttonthree,buttonfour,buttonfive,buttonsix, buttonseven,buttoneight,buttonnine;//新建数字按钮“0”“1”“2”“3”“4”“5”“6”“7”“8”“9” JPanel panelwest,panelcenter,paneleast;//新建三个面板 TextField tf;//新建文本区域对象 public CalcultorThree(){ //初始化对象 tf=new TextField(30);//构造空文本字段,字符宽度为30 frame =new JFrame("CalculatorThree");//构造窗体对象,名称为“CalculatorThree”

简单计算器JAVA

浙江科技学院 经济管理学院 JAVA语言课程设计报告 选题名称简单计算器 学生学号 专业班级信管101 学生姓名 学生成绩 指导教师朱军 工作时间2013-7-5

目录 第一章选题简介 第二章需求分析 1.系统要实现的目标分析 2.对输入输出数据及流程的分析 3.开发环境及运行环境分析 第三章系统设计 1.系统功能模块设计 2.类设计 3.数据库的设计(如果有) 4.界面设计 第四章测试 1.测试用例及结果 2.程序功能的评价 第五章总结 1.遇到的问题及解决的方法 2.开发体会及自评成绩 参考文献 第一章选题简介:简单计算器

第二章需求分析 1.系统要实现的目标分析:设计一个简单计算器,点击按钮中的数字键和运算符键就能进行简单的加、乘、乘、除求模四则运算;如果输入有误时可以按Clear撤销后重新输入新数据。 2.对输入输出数据及流程的分析:输入的符号有JiSuanQi、File、Edit、Help、on、off、close、copy、0、1、2、3、4、5、6、7、8、9、+、-、*、/、=、Backspace、CE、C,中文意思依次是计算器、文件夹、项目、帮助、开、关、复制、0、1、2、3、4、5、6、7、8、9、加、减、乘、除、等于、退格; 3.开发环境及运行环境分析:Microsoft Windows2000、jdk1.7.0_25、JCreator Pro; 第三章系统设计 1.系统功能模块设计:加、减、乘、除运算;“等于”符号;复位; 2.类设计:public void disp() 创建无值函数disp(),用来存放界面所需要展示的元素,包 括有面板,按钮,弹出对话框,显示框等。 public void actionPerformed(ActionEvent e) 创建无值函数actionPerformed(ActionEvent e),其允许的输入 值类型为ActionEvent e,在里面编写的是加减乘除等一些算 法。 public void setSum() 创建无值函数setSum(),显示出经过算法计算出的结果, public void windowClosing(WindowEvent e)

用java编写的计算器(Calculator)

import java.io.*; import java.awt.*; import java.awt.event.*; import java.util.*; public class Calculator { public static void main(String[] args) { new MyfirstCalculator(); } } class MyfirstCalculator { Frame f=new Frame("calculator"); TextField tf=new TextField(50); ArrayList sa=new ArrayList();//sa用来存储sb中的数据 StringBuilder sb=new StringBuilder();//sb用来存储0-9中的数据 StringBuilder sb1=new StringBuilder();//用作判断,里面数据为:+,-,*,/四个中的任意一个或多个 StringBuilder sb2=new StringBuilder();//用作判断,里面数据为:= MyfirstCalculator() { init(); } public void init() { Button b0=new Button("0"); Button b1=new Button("1"); Button b2=new Button("2"); Button b3=new Button("3"); Button b4=new Button("4"); Button b5=new Button("5"); Button b6=new Button("6"); Button b7=new Button("7"); Button b8=new Button("8"); Button b9=new Button("9"); Button ba=new Button("="); Button bb=new Button("-"); Button bc=new Button("+"); Button bd=new Button("*"); Button be=new Button("/"); //Button bf=new Button("D");//定义一个清空按钮,用来从头开始计数

科学计算器程序Java代码

科学计算器程序Java代码

MC:清除独立内存里的数字 MR:读出独立内存数字 MS:将显示数字保存到独立内存,并取代内存中原有数字 M+:将显示数字向独立内存累加 (独立内存是一个临时寄放数字的存储器,方便计算) CE:纠错键(CLEAR ERROR).输入数字有错,按它可以重新输入 C:表示清零,将计算器恢复到开机状态 功能举例: 源程序如下: import java.awt.BorderLayout;

import javax.swing.JRadioButtonMenuItem; import javax.swing.JTextField; public class Calucator extends JFrame { private JTextField tf; private JPanel panel1, panel2, panel3, panel4; private JMenuBar myBar; private JMenu menu1, menu2, menu3; private JMenuItem editItem1, editItem2, help1, help2, help3; private JRadioButtonMenuItem seeItem1, seeItem2;//单选框 private JCheckBoxMenuItem seeItem3;//复选框 private ButtonGroup bgb; private String back; private boolean IfResult = true, flag = false;

JAVA实现计算器课程设计

JAVA实现计算器课程设计 计算机科学系 计应0701班 指导老师:刘其昌 设计人员:陈秀桃 设计日期:2009年11月10日——2009年12月20日 计算器的设计 目录 第一章绪 论 ..................................................................... .. (2)

1.1 开发环 境 ..................................................................... . (2) 1.2 基本功能介 绍 ..................................................................... ......... 2 第二章系统设 计 ..................................................................... (3) 2.1 系统流程 图 ..................................................................... . (3) 2.2 系统功能框 图 ..................................................................... (3) 2.3 需求分 析 ..................................................................... ................ 4 第三章软件设 计 ..................................................................... (5) 3.1 界面设 计 ..................................................................... . (5) 3.2 代码设 计 .....................................................................

java编写的简单的计算器程序

计算器 项目内容:编写一个Applet,模仿windows附件所带计算器的功能,可以帮助用户完成计算功能,具体如下图所示。 项目要求:使用图形的方式借助窗口、菜单、按钮等标准界面元素和鼠标操作,来帮助用户方便地向计算机系统发出命令,启动操作,并将系统运行的结果同样以图形的方式显示给用户,这样更加直观和生动; 1.Applet容器中组件的添加与设置,包括面板以及菜单的使用; 2.容器中组件的布局管理; 3.Java核心包中数组、数学计算类的使用; 4.异常的处理; 5.事件处理模型中的三类对象的使用: 1.Event-事件,用户对界面操作在java语言上的描述,以类的形式出现,例如键盘操作对应的事件类是KeyEvent。 2.Event Source-事件源,事件发生的场所,通常就是各个组件,例如按钮Button。 3.Event handler-事件处理者,接收事件对象并对其进行处理的对象。 6.程序中事件处理的流程:

1.计算流程的细化 参考代码: import .*;

import .*; import .*; import import import public class Calculator implements ActionListener { #############"); dd(panel); panel1 = new JPanel(); panel2 = new JPanel(); (new BorderLayout()); 键入计算的第一个数字。\n"); ("2. 单击“+”执行加、“-”执行减、“*”执行乘或“/”执行除。\n"); ("3. 键入计算的下一个数字。\n"); ("4. 输入所有剩余的运算符和数字。\n"); ("5. 单击“=”。\n"); aboutCal = new JMenuItem(" 关于计算器(A)"); (this);

Java带计算过程的计算器课程设计报告

保存计算过程的计算器 Java程序设计课程设计报告保存计算过程的计算器 目录 1 概述.............................................. 错误!未定义书签。 1.1 课程设计目的............................... 错误!未定义书签。 1.2 课程设计内容............................... 错误!未定义书签。 2 系统需求分析.......................................... 错误!未定义书签。 2.1 系统目标................................... 错误!未定义书签。 2.2 主体功能................................... 错误!未定义书签。 2.3 开发环境................................... 错误!未定义书签。 3 系统概要设计.......................................... 错误!未定义书签。 3.1 系统的功能模块划分......................... 错误!未定义书签。 3.2 系统流程图................................. 错误!未定义书签。4系统详细设计........................................... 错误!未定义书签。 5 测试.................................................. 错误!未定义书签。 5.1 测试方案................................... 错误!未定义书签。 5.2 测试结果................................... 错误!未定义书签。 6 小结.................................................. 错误!未定义书签。参考文献................................................ 错误!未定义书签。附录................................................ 错误!未定义书签。 附录1 源程序清单...................................... 错误!未定义书签。

计算器 java程序设计..

目录 1.课程设计目的 (2) 2.设计题目分析 (2) 2.1 题目简介 (2) 2.2 设计要求及需求分析 (2) 3.课程设计内容 (3) 3.1 总体设计 (3) 3.2计算器功能模块设计 (4) 3.3计算器算法流程设计 (4) 3.4类的设计 (5) 3.5代码实现: (6) 3.5 设计结果与分析 (8) 4.设计心得与总结 (10) 参考文献: (10) 附录: (11)

1.课程设计目的 通过课程设计把知识形成系统,把自己所学的知识在实际问题中加以运用。如果自己编写的程序能够给更多的人带来方便,并且得到人们的好评,那么自己编写的程序就可以实现商品化,形成产品给更多的人利用,并实现一定的商品价值。 因此本次课程设计有目的有以下几点: (1)复习巩固java语言的基础知识,进一步加深对java语言的理解和掌控。 (2)提供一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机结合起来,锻炼我们的分析解决实际问题的能力。提高我们适应实际,实践编程的能力。 (3)培养我们在项目开发中创新意识及能力,通过亲身实践,利用所学编写简单的面向对象程序,提高对面向对象及JAVA语言的理解。 2.设计题目分析 2.1 题目简介 设计一个图形界面(GUI)的计算器应用程序,完成简单的算术运算、设计的计算器应用程序可以完成家法、减法、乘法、除法。 2.2 设计要求及需求分析 设计要求:由于现代用户更倾向于由鼠标方便操作的图形用户界面,所以我们采用GUI来实现计算器,并采用Swing组件,AWT事件处理等实现具体功能。 背景需求分析:在我们日常生活中,计算开支、收入时,大额数字或是多倍小数的计算都需要计算器的帮助,而在学习一些科目时,也常常要处理数字。虽然现在的计算器价格比较低廉,但是功能过于简单的不能满足个人需求,功能多的价格较贵,不仅操作不便,很多功能也根本用不到。所以我们想用自己所学设计开发一个属于自己的简单计算器来完成日常学习生活的需求。

【建立】java编写简单计算器

【关键字】建立 今天闲着没事,用java写了一个简单计算器,能实现简单的数据计算。 语言:java 开发环境:eclipse (因为是按自己的想法写的,所以有些不尽人意的地方请谅解,希望对初学java者有些许帮助,有不好理解的地方,我尽量注释,有不理解的可以在百度HI我)事先一定要安装好JDK,可以在下载,配置好环境变量,再安装好eclipse,也可以在网上下载到,具体自己去找; 然后打开eclipse建立一个工程,取名随便,我这里取名Calculator;然后在建立好的工程里面新建两个包,报名也自己取,尽量易懂,容易让人理解;我这里建立了两个包,Client 和UI,等下在Client里面放的是主函数,UI里面放的是界面文件和控制器;好了下面开始写代码; 一、先写界面代码: 在UI包里面新建一个Class文件,取名自己想,这里我写的是CalculatorFrame package ui; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; public class CalculatorFrame extends JFrame { private static final long serialVersionUID = 1L; public String opt; public String str; private JTextArea show; private ClientContext clientContext;//引用控制器东西 /*因为调用了控制器里面的方法,所以要对控制器的东西进行赋值,否则运行会出现空指针异常*/ public void setClientContext(ClientContext clientContext) { this.clientContext = clientContext; }

java编写简单计算器源代码

import javax.swing.*; import java.awt.event.*; import java.awt.*; import https://www.wendangku.net/doc/4e15069612.html,ng.Math; class ring extends JFrame implements ActionListener { //定义成员变量: //JFrame frame;//定义一个窗口类; JTextField text;//定义一个文本框类; JLabel label;//定义一个标签类; JPanel p1,p2,p3,p4,p5,p6;//定义面板类; String s1,s,s2;//定义三个字符串变量; int count=0; JButton a1,a2,a3,a4,a5,a6,b1,b2,b3,b4,b5,b6,c1,c2,c3,c4,c5,c6,d1,d2,d3,d4 ,d5,d6; //ring的构造函数; ring() { this.setTitle("计算器"); // super("计算器"); JMenuBar menubar1=new JMenuBar();//新建菜单条; this.setJMenuBar(menubar1); JMenu menu1=new JMenu("编辑(E)"); JMenu menu2=new JMenu("查看(V)"); JMenu menu3=new JMenu("帮助(H)"); menubar1.add(menu1); menubar1.add(menu2); menubar1.add(menu3); JMenuItem item1=new JMenuItem("复制(c) ctrl+c"); JMenuItem item2=new JMenuItem("粘贴(p) ctrl+v"); JMenuItem item3=new JMenuItem("标准型(T)"); JMenuItem item4=new JMenuItem("科学型(s)"); JMenuItem item5=new JMenuItem("数字分组(I)"); JMenuItem item6=new JMenuItem("帮助主题(H)"); JMenuItem item7=new JMenuItem("关于计算机(A)"); menu1.add(item1); menu1.add(item2); menu2.add(item3); menu2.add(item4); menu2.add(item5); menu3.add(item6);

java编写的加法计算器

/* * To change this template, choose Tools | Templates * and open the template in the editor. */ /** * * @author asus */ import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Calculator implements ActionListener { JFrame sb; String s1,s2; int T1,T2,T3; JTextField t1,t2,t3; JLabel jl1,jl2; public Calculator() { sb=new JFrame("加法计算器"); sb.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); sb.setSize(260,100); Container a=sb.getContentPane(); a.setLayout(new FlowLayout()); t1=new JTextField(5); t2=new JTextField(5); t3=new JTextField(5); t1.setEditable(true); t2.setEditable(true); t3.setEditable(false); jl1=new JLabel("+"); jl2=new JLabel("="); JButton he=new JButton("求和"); he.addActionListener(this); a.add(t1); a.add(jl1); a.add(t2); a.add(jl2); a.add(t3); a.add(he);

java简单界面计算器

package calculator; import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; /** * * @author 某某某 * */ public class Calculator extends JFrame implements ActionListener{ //设计按钮数组1包含数字键和删除键DEL和清屏键,小数点。 JButton[] but1 = {new JButton("1"),new JButton("2"),new JButton("3"),new JButton("4"),new JButton("5"),new JButton("6") ,new JButton("7"),new JButton("8"),new JButton("9"),new JButton("."),new JButton("0"),new JButton("del")}; //设计按钮数组2包含加减乘除,开根号,取余,等于键,平方,三次方。 JButton[] but2 = {new JButton("+"),new JButton("-"),new JButton("*"),new JButton("/"),new JButton("^2"),new JButton("^3"),new JButton("%") ,new JButton("sqrt"),new JButton("exit"),new JButton("="),new JButton("AC")} ; //创建一个单行文本 JTextField text = new JTextField(25); //创建五个面板 JPanel jp1 = new JPanel(); JPanel jp2 = new JPanel(); JPanel jp3 = new JPanel(); JPanel jp4 = new JPanel(); JPanel jp5 = new JPanel();

计算器程序java

1课程实习内容概述 1.1 目的及任务 成功的Java课程设计是其课程学习到位的一个重要体现,通过课程设计使学生更加掌握JAVA语言编程的基础知识并能熟练运用。如: (1)、掌握Java开发面向对象的软件设计思想、方法及步骤; (2)、熟悉类声明与对象的使用,并进一步强化类的定义,掌握类的继承、接口以及变量、数组的应用; (3)、了解JAVA语言的图形用户界面的设计知识,并运用JAVA 编写简单计算器程序。 2 程序实现的基本思想 2.1 问题分析 编写一个简单计算器程序,它要具有0~9数及π的输入、加、减、乘、除、开根号、正三角反三角函数、e^x、ln(x)、lg(x)、tanh、角度和弧度的转换、删除、清空的功能。 2.2 总体设计 (1)、首先要设计其GUI界面,总体界面有一个文本框,共有32个按钮,总体界面用BorderLayout布局。 (2)、文本框放置在总体界的NORTH; (3)、0到9以及“.”=的按钮放置到一个面板Panel1中,并用GridLayout(4,3)来布局,再将其添加到一个面板panel_center中,最后将panel_center面板放进整体布局的CENTER; (4)、将正三角反三角函数、e^x、ln(x)、lg(x)、tanh、角度和弧度的转换等12个按钮放置到一个面板Panel3中,设计其按键字体为蓝色,并用GridLayout(4,3)来布局,再将其放进整体布局的WEST; (5)、将+、-、 *、/、 2√、π、以及删除和清空等8个按钮放置到一个面板Panel2中,设计其按键字体为蓝色,并用GridLayout(4,2)来布局,再将其放进整体布局的EAST中,界面设计完成。

简易计算器Java实训报告

实训报告书实训名称:Java程序设计实训 系(部):信息工程系 专业班级:计算机科学与技术 学生姓名: 学号: 指导教师:张民 完成日期:2015.12.11 山东科技大学泰山科技学院

课程实训报告书

目录 1 实训目的 (3) 2 简易计算机的分析与设计 (3) 2.1 系统功能描述 (3) 2.2 系统模块设计 (3) 2.3 数据库结构设计 (4) 3 主要代码清单 (5) 4 程序运行与测试 (9) 5 实训总结 (11)

简易计算机的设计与实现 1 实训目的 通过本课程设计能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。利用Java Applet图形界面首先开始设计一个计算器的界面,定义计算器所需要的按钮并赋给其按钮名称,使得使用计算器时简单明了,清晰可见,操作轻松。 给各个按钮进行算法,利用鼠标点击事件,当鼠标点击某个按钮时就开始执行那个按钮所定义的算法,生成数据并显示。 除数字的输入为直接进行输入外,其他运算例如+、-、*、/、开平方等算法要求计算时通过内部较为复杂的运算将结果显示在显示屏上。 至于其中的进制转换功能的实现则是直接调用Java中进制转换的函数,例如要将十进制转换成二进制则可直接调用函数Integer.toBinaryString(int i)来实现,充分显示了Java语言的简洁性和Java语言功能的强大性。 当然了在输入数据时还要进行异常捕捉,防止越界的现象的发生,这也是Java语言健壮性的体现! 2 简易计算机的分析与设计 2.1 系统功能描述 1)可进行“+”、“-”、“*”、“/”以及混合运算。 2)支持()改变运算的优先级 3)可进行二、十六和十进制数的相互转换 4)支持复制和粘贴操作 2.2 系统模块设计 (1)加法 两个数据进行加操作,可以为小数。 (2)减法 两个数据进行减操作,可以为负数相减。( 3)乘法

java简单计算器源代码

j a v a简单计算器源代码集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

简单计算器代码packagecalcultorthree; /** *本例实现了简单计算器代码,具备加减乘除和正弦功能,旨在抱砖引玉。熟悉java的同学,可以在此基础上实现更复杂的功能。 *@authorFjsh */ publicclassCalcultorThree{ //新建对象,在构造函数中进行初始化 JFrameframe;//新建窗体对象 JButtonbuttonzero,buttondot,buttonequal;//新建按钮“0”“.”“=”JButtonbuttonplus,buttonminus,buttonmultiple,buttondevision, buttonsin,buttontozero;//新建按钮“+”“-”“*”“/”“sin”和归零按钮JButtonbuttonone,buttontwo,buttonthree,buttonfour,buttonfive,buttonsix, buttonseven,buttoneight,buttonnine;//新建数字按钮 “0”“1”“2”“3”“4”“5”“6”“7”“8”“9” JPanelpanelwest,panelcenter,paneleast;//新建三个面板 TextFieldtf;//新建文本区域对象 publicCalcultorThree(){ //初始化对象 tf=newTextField(30);//构造空文本字段,字符宽度为30 frame=newJFrame("CalculatorThree");//构造窗体对象,名称为“CalculatorThree”

简易计算器Java实训报告

实训名称: Java程序设计实训 系(部):信息工程系 专业班级:计算机科学与技术学生姓名: 学号: 指导教师:张民 完成日期:

山东科技大学泰山科技学院

目录 1 实训目的 (2) 2 简易计算机的分析与设计 (2) 系统功能描述 (2) 系统模块设计 (2) 数据库结构设计 (3) 3 主要代码清单 (4)

4 程序运行与测试 (8) 5 实训总结 (10)

简易计算机的设计与实现 1 实训目的 通过本课程设计能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。利用Java Applet图形界面首先开始设计一个计算器的界面,定义计算器所需要的按钮并赋给其按钮名称,使得使用计算器时简单明了,清晰可见,操作轻松。 给各个按钮进行算法,利用鼠标点击事件,当鼠标点击某个按钮时就开始执行那个按钮所定义的算法,生成数据并显示。 除数字的输入为直接进行输入外,其他运算例如+、-、*、/、开平方等算法要求计算时通过内部较为复杂的运算将结果显示在显示屏上。 至于其中的进制转换功能的实现则是直接调用Java中进制转换的函数,例如要将十进制转换成二进制则可直接调用函数(int i)来实现,充分显示了Java语言的简洁性和Java语言功能的强大性。 当然了在输入数据时还要进行异常捕捉,防止越界的现象的发生,这也是Java语言健壮性的体现! 2 简易计算机的分析与设计 系统功能描述 1)可进行“+”、“-”、“*”、“/”以及混合运算。 2)支持()改变运算的优先级 3)可进行二、十六和十进制数的相互转换 4)支持复制和粘贴操作

用java编写简单计算器

用java写了一个简单计算器,能实现简单的数据计算。 一、先写界面代码: 在UI包里面新建一个Class文件,取名自己想,这里我写的是CalculatorFrame package ui; import java.awt.Color; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.border.TitledBorder; public class CalculatorFrame extends JFrame { private static final long serialV ersionUID = 1L; public String opt; public String str; private JTextArea show; private ClientContext clientContext;//引用控制器对象 /*因为调用了控制器里面的方法,所以要对控制器的对象进行赋值,否则运行会出现空指针异常*/ public void setClientContext(ClientContext clientContext) { this.clientContext = clientContext; } public CalculatorFrame() { init(); } private void init() { setTitle(" Simple Calculator"); setBounds(533, 184, 300, 400); setContentPane(creatContentPane()); }

java计算器设计报告

摘要 本计算器是由java语言所编程设计的标准计算器,可以进行十进制下的四则运算(加、减、乘、除)、开平方、求余、求倒数,还可以实现二进制与十进制之间的转换。通过本课程设计使学生能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。 关键词: java语言,计算器,算法

目录 摘要 (1) 1概述 (3) 1.1设计目的及思路 (3) 1.2功能模块设计 (3) 1.3系统功能图 (3) 2计算器的设计与实现 (4) 2.1程序界面 (4) 2.2程序源代码 (4) 3计算器演示 (10) 4运行调试及讨论分析 (13) 5小结 (14) 参考文献: (14)

1概述 1.1设计目的及思路 通过本课程设计使学生能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。利用Java Applet图形界面首先开始设计一个计算器的界面,定义计算器所需要的按钮并赋给其按钮名称,使得使用计算器时简单明了,清晰可见,操作轻松。 给各个按钮进行算法,利用鼠标点击事件,当鼠标点击某个按钮时就开始执行那个按钮所定义的算法,生成数据并显示。 除数字的输入为直接进行输入外,其他运算例如+、-、*、/、开平方等算法要求计算时通过内部较为复杂的运算将结果显示在显示屏上。 至于其中的进制转换功能的实现则是直接调用Java中进制转换的函数,例如要将十进制转换成二进制则可直接调用函数Integer.toBinaryString(int i)来实现,充分显示了Java语言的简洁性和Java语言功能的强大性。 当然了在输入数据时还要进行异常捕捉,防止越界的现象的发生,这也是Java语言健壮性的体现! 1.2功能模块设计 以下为标准计算器的基本功能: (1)加法 两个数据进行加操作,可以为小数。 (2)减法 两个数据进行减操作,可以为负数相减。 (3)乘法 两个数相乘操作。 (4)除法 两个数相除操作。 (5)开平方 对任意一个数进行开方运算,可以是小数。 (6)求余 对任意一个数进行求余运算。 (7)倒数 对任意一个数进行倒数运算。 (8)转换 将十进制数转换为二进制以及将二进制转换为十进制。 1.3系统功能图

Java实现简易计算器

Java实训作业题目:Java实现简易计算器 学院: 姓名: 学号: 班级: 20 年月

一、实验目的 通过课程设计,主要要达到两个目的,一是检验和巩固专业知识、二是提高综合素质和能力。此次课程设计实训主要是Java语言程序设计的实现。通过该课程设计,可以将课堂上掌握的理论知识与处理数据的业务相结合,以检验自己掌握知识的宽度、深度及对知识的综合运用能力。 二、实验要求 用Java编写一个简单的计算器,使其能够实现最基本的功能,如简单的加、减、乘、除;平方根,倒数,平方等功能。 三、详细内容 1.界面设计 界面设计使用GUI,其中有用到swing组件的TextField和Button,用到awt中的BorderLayout和GridLayout布局管理方式,其图形界面如图1-1所示:

图1-1 其中主要代码为: public mainWindow(){ this.setTitle("计算器");//用户图形界面标题 this.setVisible(true);//用户图形界面可缩小 this.setResizable(false);//用户图形界面不可放大 this.setSize(350,300);//设置用户图形界面的大小 this.setLocation(400,150);//用户图形界面在屏幕中的显示位置 JPanel panel1 = new JPanel();//新建一个画板 JPanel panel2 = new JPanel(); button1 = new JButton("1"); ... reset = new JButton("CE"); Container container = this.getContentPane(); container.add(panel2,BorderLayout.NORTH); container.add(panel1); panel1.setLayout(new GridLayout(5,4));//将画板1分为4行5列 result.setEnabled(false); result.setFont(new Font("Dialog",Font.BOLD,25));//运算结果的字体大小 result.setEditable(false); result.setHorizontalAlignment(SwingConstants.RIGHT); panel1.add(reciprocal);//分别将20个按钮依次添加到画板panel1中,并设置各自的大小 reciprocal.setFont(new Font("Dialog",Font.PLAIN,20)); ... panel1.add(divide);

java课程设计报告_简单图形界面计算器的设计

Java 课程设计 简单图形界面计算器的设计 课程名称 Java程序设计 选题名称简单图形界面计算器的设计 专业 班级 姓名 学号 指导教师 简单图形界面计算器的设计

一、设计任务与目标 本次java程序设计我的设计任务是设计一个图形界面(GUI)的计算器应用程序并且能够完成简单的算术运算。本次任务的基本要求是这个计算器应用程序可以完成十进制的加、减、乘、除、求倒、取余、开方运算,且有小数点、正负号、退格和清零功能。而我要在此基础上添加一项千位符分隔符的功能,即以三位为一级,在输入的一串数字中每三位加入一个逗号,这项功能国际通用,并已经成为惯例,会计记账都用这种方法便于账目核算与管理。 GUI计算器设计的具体目标: 1.完成十进制的加、减、乘、除、求倒、取余和开方运算; 2.有小数点和正负号加入运算; 3.有退格、复位和清零的功能; 4.有千位符分隔符的功能,即在输入的一串数字中每三位加入一个逗号。 二、方案设计与论证 1.设计目标的总体分析 (1)设计目标的需求分析:计算器是现在一个普遍应用的工具,能够解决许多人工所无法计算的数据,节省大量宝贵的时间。 (2)设计目标的功能分析:实现计算器系统的功能,主要有两个功能模块:输入和输出。 (3)设计原则:基于计算器系统要具有适用性广、操作简便等特点,本系统预计要达到以下几个目标:①满足以上的基本功能要求;②能够在常见的计算机及其操作系统上运行。 2.设计的基本思路 利用GUI的界面设计,将整个大设计分为三块,分别是数据的输入,运算符

功能符的控制和数据的输入输出显示。利用Swing控件,数据的输入由0~9这10个按钮来表示,用“+”、“-”、“*”、“/”、“1/x”、“%”、“sqrt”这7个按钮来表示加、减、乘、除、求倒、取余、开方运算,用“.”和“±”这2个按钮来表示小数点和正负号,用“Back”、“CE”和“C”这3个按钮来表示退格、复位和清零的功能,数据的输入输出显示由文本字段来表示。将计算器的总体界面设计好后,再将代码分别写入不同的按钮的源程序中。 我要完成的一项改进,即添加一个拥有千位符分隔符功能的按钮,按下这个按钮能够在输入的一串数字中每三位加入一个逗号并且显示出来。我要在之前的界面设计的基础上多添加一个按钮“$”来表示千位符分隔符,并且将功能代码写入这个按钮的源程序中。 三、程序流程图,程序清单与调用关系 1. 程序流程图:

相关文档
相关文档 最新文档