JAVA课程设计计算器小程序报告.docx

上传人:b****1 文档编号:980169 上传时间:2023-04-30 格式:DOCX 页数:20 大小:91.07KB
下载 相关 举报
JAVA课程设计计算器小程序报告.docx_第1页
第1页 / 共20页
JAVA课程设计计算器小程序报告.docx_第2页
第2页 / 共20页
JAVA课程设计计算器小程序报告.docx_第3页
第3页 / 共20页
JAVA课程设计计算器小程序报告.docx_第4页
第4页 / 共20页
JAVA课程设计计算器小程序报告.docx_第5页
第5页 / 共20页
JAVA课程设计计算器小程序报告.docx_第6页
第6页 / 共20页
JAVA课程设计计算器小程序报告.docx_第7页
第7页 / 共20页
JAVA课程设计计算器小程序报告.docx_第8页
第8页 / 共20页
JAVA课程设计计算器小程序报告.docx_第9页
第9页 / 共20页
JAVA课程设计计算器小程序报告.docx_第10页
第10页 / 共20页
JAVA课程设计计算器小程序报告.docx_第11页
第11页 / 共20页
JAVA课程设计计算器小程序报告.docx_第12页
第12页 / 共20页
JAVA课程设计计算器小程序报告.docx_第13页
第13页 / 共20页
JAVA课程设计计算器小程序报告.docx_第14页
第14页 / 共20页
JAVA课程设计计算器小程序报告.docx_第15页
第15页 / 共20页
JAVA课程设计计算器小程序报告.docx_第16页
第16页 / 共20页
JAVA课程设计计算器小程序报告.docx_第17页
第17页 / 共20页
JAVA课程设计计算器小程序报告.docx_第18页
第18页 / 共20页
JAVA课程设计计算器小程序报告.docx_第19页
第19页 / 共20页
JAVA课程设计计算器小程序报告.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

JAVA课程设计计算器小程序报告.docx

《JAVA课程设计计算器小程序报告.docx》由会员分享,可在线阅读,更多相关《JAVA课程设计计算器小程序报告.docx(20页珍藏版)》请在冰点文库上搜索。

JAVA课程设计计算器小程序报告.docx

JAVA课程设计计算器小程序报告

#####学院

 

JAVA语言课程设计报告

小程序计算器系统管理

 

班级:

#######

姓名:

###

##

指导老师:

###

 

时间:

2012年6月25日至6月29日

1、课程设计概述--------------------------------------------------3

1.1利用java编写计算器,使之具备一定的功能:

-----------------3

1.2课程设计的主要思想--------------------------------------------------3

1.3该项目设计的目的-----------------------------------------------------3

2、需求分析方案--------------------------------------------------4

2.1功能需求分析-----------------------------------------------4

2.2性能需求分析-----------------------------------------------4

3、总体设计方案--------------------------------------------------5

3.1界面设计----------------------------------------------------------------------5

3.2功能介绍-----------------------------------------------------------------------5

4、详细说明、调试---------------------------------------------6

4.1程序流程图-------------------------------------------------------6

4.2部分代码说明-----------------------------------------------------6

4.3程序调试与结果示例-------------------------------------------8

5、个人总结-----------------------------------------------------10

6、附录(代码)-----------------------------------------------11

6.1登陆界面代码--------------------------------------------11

6.2计算器主界面--------------------------------------------12

6.3退出界面代码-------------------------------------------15

 

1.课程设计概述

1.1利用java编写计算器,使之具备一定的功能:

(1)使用图形用户界面:

一个文本框;0-9数字按钮;加、减、乘、除运算符;“等于”符号;复位按钮;

(2)完成整数、实数的四则运算(加、减、乘、除);

(3)通过按钮点击实现数据的复位(清零);

(4)实数运算中小数位的精度一致。

1.2课程设计的主要思想

首先要设计一个登录界面,必须输入密码并正确才能进入到计算器界面;

对于此计算器程序,要设计其GUI界面,总体界面有一个文本框,18个按钮,总体界面用BorderLayout布局。

文本框放置在最NORTH,然后0到9以及+,-,*,/的按钮放置到一个面板Panel中,添加到整体布局的CENTER,界面设计完成。

布局设计好后再添加按钮事件。

对于此程序要考虑到点击加、减、乘、除按钮时是否有点击数字按钮,如果是第一次点击数字按钮或者是点击数字按钮前点击了加、减、乘、除按钮则直接把数字按钮的数值设置到文本框中,否则则应把文本框中的内容加上你所点击按钮的数值设置到文本框中。

在进行加、减、乘、除计算时要把点击加、减、乘、除按钮之前的数值保存下来,运算时是这个被保存下来的数值和文本框中的数值加、减、乘、除。

最后还需要一个退出界面。

重要的是必须把三个界面的代码放在同一个包里。

1.3该项目设计的目的

(1)理解并掌握Java中的类、对象、继承、方法等概念,以及Applet的基本框架和事件处理的方法。

(2)学会一些按钮,标签,主件,文本框的使用;

(3)学会使用JDK编写、调试和运行JavaApplet应用程序。

(4)利用awt组件编写一个计算器,实现基本的四则运算。

 

2.需求分析

2.1功能需求分析

在日常生活中经常需要用到计算器,比如科学计算、数值计算、会计业务等,在Applet中实现一个精巧实用的计算器,可以让用户在使用网站服务的同时,可以很方便地进行数据运算,可增加页面的实用性,同时让用户的操作也更方便与快捷。

本项目需要实现一个用Java中的类、对象、继承、方法等概念以及awt主键和Applet的基本框架和事件处理的方法。

简单的四则运算的计算器,拥有加、减、乘、除功能,除此之外要三个界面即:

登录面,计算器主界面,退出界面,要剧本的功能就是点击登录界面可以前往计算器主界面,退出可以到达退出界面。

2.2性能需求分析

实用性:

在实现此过程中,我们要考虑到,计算的实用性,能过用于哪些方面。

准确性:

在实现此过程中,我们要考虑到,怎样使计算器界面更简单,让人更容易明白它怎样去用。

连贯性:

在此项目中,要让登陆界面,计算器主界面,退出界面能连起;即:

运行登陆界面,密码正确时能登陆到计算器主界面,点主界面退出时能到达退出界面,给人以提示。

 

3总体设计

3.1界面设计

界面设计要求用GUI,界面设计中有用到swing组件的TextField、Button,和JLable用到awt中的BorderLayout和GridLayout布局管理方式,其图形界面如下:

登陆界面

计算器主界面

退出提示界面

3.2功能介绍

(1)本项目分为三个界面,登录,计算器,退出三个界面,点击登录输入密码正确就可以登录到计算器界面,退出计算器界面还可以再次登录。

(2)这是计算器中的一种:

简单计算器,本项目用到了Java中的GUI界面和swing组件以及awt布局,所以简单易用,它能完成如下的几个小功能:

点击按钮中的数字键和运算符键就能进行简单的加、乘、乘、除求模四则运算;还能通过用户自己在文本框中输入数字,进行简单运算;

如果输入有误时可以点“清除”撤销后重新输入新数据.

4.详细设计说明、调试

4.1程序流程图:

4.2部分代码说明

段代码主要是对程序的主框架进行相应的设置。

Framef=newFrame("计算器小程序");

f.setBackground(Color.lightGray);

f.setForeground(Color.blue)//数字颜色

f.add(p1,BorderLayout.NORTH);

f.add(p2,BorderLayout.CENTER);

f.add(p3,BorderLayout.SOUTH);

f.setSize(350,300);//设置面板大小

f.setVisible(true);//设置为可见

添加相应的按钮

B[0].addActionListener(this);//7

B[1].addActionListener(this);//8

B[2].addActionListener(this);//9

B[3].addActionListener(this);//除号

B[4].addActionListener(this);//4

B[5].addActionListener(this);//5B[6].addActionListener(this);//*乘号

B[8].addActionListener(this);//1

B[9].addActionListener(this);//2

B[10].addActionListener(this);//3

B[11].addActionListener(this);//-减号

B[12].addActionListener(this);//0

B[13].addActionListener(this);//.小数点

B[14].addActionListener(this);//=等于号

B[15].addActionListener(this);//+加好

b1.addActionListener(this);

b2.addActionListener(this);

f.addWindowListener(newcloseWin();

运算设计代码:

if(command=="清除")//清零键按下时返回初始状态

{

y=0;

tf.setText("0.");

s1="";s2="";s3="";//记录输入值的变量清空

}

elseif(command=="退出")System.exit(0);//退出键关闭应用程序

elseif(y==0&&command!

="*"&&command!

="/"

&&command!

="+"&&command!

="-"

&&command!

="=")//判断输入是否为数字

{

s1=s1.concat(command);

tf.setText(s1);

}

if(command=="*"||command=="/"

||command=="+"||command=="-")//判断是否输入运算符

{

y=1;

s2=command;

}

if(y==1&&command!

="*"&&command!

="/"

&&command!

="+"&&command!

="-"

&&command!

="=")

{

s3=s3.concat(command);

tf.setText(s3);

}

if(command=="=")

{

Doubleob1=Double.valueOf(s1);

Doubleob3=Double.valueOf(s3);d1=ob1.doubleValue();

d3=ob3.doubleValue();

if(s2=="+")d4=d1+d3;

if(s2=="-")d4=d1-d3;

if(s2=="*")d4=d1*d3;

Doubleob4=newDouble(d4);

tf.setText(ob4.toString());

if(s2=="/")

{if(d3==0)

tf.setText("除数不能为零");

else{d4=d1/d3;

ob4=newDouble(d4);

tf.setText(ob4.toString());}

}

y=0;

}

4.3程序调试与结果示例

1.运行登录界面,输入密码,正确和错误两种情况;当输入正确时会弹出计算器界面,如果错误也会提示你,点击“重置”就可以重新输入密码

2.当除数为0时,结果显示“除数不能为零”“if(d3==0)tf.setText("除数为零")”

3.预计“32+3=35”,结果显示“35.0”

4.预计“5-7=-2”,实际结果显示“-2.0”

5.当不需要计算时,点击“退出”或关闭窗口时会弹出退出界面,会提示你是否真的退出,如需要重新登录就点击“再次登录”,如不需要登录就点击“退出”或关闭窗口。

5.个人总结

附录:

(代码)

6.1登录界面的代码:

importjavax.swing.*;

importjava.awt.*;

importjava.awt.event.*;

publicclassjiemianextendsJFrameimplementsActionListener

{

JButtonbutton1,button2;

JTextFieldtext1,text2;

JLabeljlb,jlb1,jlb2;

publicjiemian()

{

super("java小程序登陆窗口");

Containercon=getContentPane();

con.setLayout(null);

jlb=newJLabel("您好!

欢迎您登陆java小程序计算器");

jlb1=newJLabel("请输入秘密:

");//标签

button1=newJButton("登陆");//登陆按钮

button1.addActionListener(this);//添加监听者

button2=newJButton("重置");//取消按钮

button2.addActionListener(this);//添加监听者

text1=newJPasswordField(10);//密码文本框

((JPasswordField)text1).setEchoChar('*');//设置掩码

text1.addActionListener(this);//添加监听者

jlb2=newJLabel("密码提示:

");//标签

text2=newJTextField(10);//密码提示文本框

//标签,文本框,按钮的位置大小

jlb.setBounds(70,0,220,100);

jlb1.setBounds(90,50,80,50);

text1.setBounds(80,90,190,30);

button1.setBounds(90,210,60,30);

button2.setBounds(170,210,60,30);

jlb2.setBounds(90,110,90,50);

text2.setBounds(80,150,190,30);

con.add(jlb);

con.add(jlb1);

con.add(jlb2);

con.add(text1);

con.add(text2);

con.add(button1);

con.add(button2);setBounds(300,200,350,350);

setVisible(true);

}

publicstaticvoidmain(Stringargs[])

{

newjiemian();//函数调用

}

publicvoidactionPerformed(ActionEvente)

{

if(text1.getText().equals("ruanjian11312"))//判断密码

{

text2.setText("密码正确");

newjsq().init();//调用计算器主界面函数

}

elseif(text1.getText().equals("11312"))//判断密码

{

text2.setText("密码正确");

newjsq().init();//调用计算器主界面函数

}

else

text2.setText("对不起,密码错误,请重新输入");

if(e.getSource()==button2)

{

text1.setText(null);

text2.setText(null);

}//使文本框1、2反空

}

}

6.2计算器主界面的代码:

importjava.awt.*;importjava.awt.event.*;

publicclassjsqimplementsActionListener

{Panelp1=newPanel();

Panelp2=newPanel();

Panelp3=newPanel();

TextFieldtf=newTextField(30);

Stringa[]={"7","8","9","/","4","5","6","*","1","2","3","-","0",".","=","+",};

ButtonB[];

Buttonb1=newButton("清除");

Buttonb2=newButton("退出");

Strings1=newString();

Strings2=newString();

Strings3=newString();//s1记录第一个数;s2记录运算符;s3记录第二个数;

doubled1,d3,d4;

inty=0;//y用于控制运算符

publicvoidinit()

{

Framef=newFrame("计算器小程序");

f.setBackground(Color.lightGray);

f.setForeground(Color.blue);//数字颜色

p1.add(tf);

p3.setLayout(newGridLayout(1,2));

p3.add(b1);

p3.add(b2);

p2.setLayout(newGridLayout(4,4));

B=newButton[a.length];

for(inti=0;i

{

B[i]=newButton(a[i]);

p2.add(B[i]);

}

f.add(p1,BorderLayout.NORTH);

f.add(p2,BorderLayout.CENTER);

f.add(p3,BorderLayout.SOUTH);

f.setSize(350,300);//设置面板大小

f.setVisible(true);//设置为可见

B[0].addActionListener(this);//7

B[1].addActionListener(this);//8

B[2].addActionListener(this);//9

B[3].addActionListener(this);//除号

B[4].addActionListener(this);//4B[5].addActionListener(this);//5

B[6].addActionListener(this);//*乘号

B[8].addActionListener(this);//1

B[9].addActionListener(this);//2

B[10].addActionListener(this);//3

B[11].addActionListener(this);//-减号

B[12].addActionListener(this);//0

B[13].addActionListener(this);//.小数点

B[14].addActionListener(this);//=等于号

B[15].addActionListener(this);//+加好

b1.addActionListener(this);

b2.addActionListener(this);

f.addWindowListener(newcloseWin());

}

publicvoidactionPerformed(ActionEvente)

{

Stringcommand=e.getActionCommand();

if(command=="清除")//清零键按下时返回初始状态

{

y=0;

tf.setText("0.");

s1="";s2="";s3="";//记录输入值的变量清空

}

elseif(command=="退出"){

newtuichu();//调用退出界面函数

}//退出键退出到退出界面

elseif(y==0&&command!

="*"&&command!

="/"

&&command!

="+"&&command!

="-"

&&command!

="=")//判断输入是否为数字

{

s1=s1.concat(command);

tf.setText(s1);

}

if(command=="*"||command=="/"

||command=="+"||command=="-")//判断是否输入运算符

{

y=1;

s2=command;

}

if(y==1&&command!

="*"&&command!

="/"

&&command!

="+"&&command!

="-"

&&command!

="=")

{s3=s3.concat(command);

tf.setText(s3);

}

if(command=="=")

{

Doubleob1=Double.valueOf(s1);

Doubleob3=Double.valueOf(s3);

d1=ob1.doubleValue();

d3=ob3.doubleValue();

if(s2=="+")d4=d1+d3;

if(s2=="-")d4=d1-d3;

if(s2=="*")d4=d1*d3;

Doubleob4=newDouble(d4);

tf.setText(ob4.toString());

if(s2=="/")

{if(d3==0)

tf.setText("除数不能为零");

else{d4=d1/d3;

ob4=newDouble(d4);

tf.setText(ob4.toString());}

}

y=0;

}

}

publicstaticvoidmain(String[]args)

{

newjsq().init();//函数调用

}

}

classcloseWinextendsWindowAdapter//为关闭按钮编写程序

{

publicvoidwindowClosing(WindowEvente)

{

newtuichu();//关闭调用退出界面函数

}

}

6.3退出界面的代码:

importjava.awt.Contai

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2