实训文档.docx

上传人:b****0 文档编号:10136976 上传时间:2023-05-23 格式:DOCX 页数:21 大小:162.35KB
下载 相关 举报
实训文档.docx_第1页
第1页 / 共21页
实训文档.docx_第2页
第2页 / 共21页
实训文档.docx_第3页
第3页 / 共21页
实训文档.docx_第4页
第4页 / 共21页
实训文档.docx_第5页
第5页 / 共21页
实训文档.docx_第6页
第6页 / 共21页
实训文档.docx_第7页
第7页 / 共21页
实训文档.docx_第8页
第8页 / 共21页
实训文档.docx_第9页
第9页 / 共21页
实训文档.docx_第10页
第10页 / 共21页
实训文档.docx_第11页
第11页 / 共21页
实训文档.docx_第12页
第12页 / 共21页
实训文档.docx_第13页
第13页 / 共21页
实训文档.docx_第14页
第14页 / 共21页
实训文档.docx_第15页
第15页 / 共21页
实训文档.docx_第16页
第16页 / 共21页
实训文档.docx_第17页
第17页 / 共21页
实训文档.docx_第18页
第18页 / 共21页
实训文档.docx_第19页
第19页 / 共21页
实训文档.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

实训文档.docx

《实训文档.docx》由会员分享,可在线阅读,更多相关《实训文档.docx(21页珍藏版)》请在冰点文库上搜索。

实训文档.docx

实训文档

计算机技术与工程技术学院

实训报告

实训项目:

学生姓名:

学号:

专业班级:

学历层次:

指导教师:

完成日期:

 

目录

摘要1

1引言2

1.1任务与分析2

1.2实验目的与要求2

1.2.1实验目的2

1.2.2实验要求2

2方案设计1

2.1总体设计1

2.2功能设计1

2.2.1main类方法设计1

3需求描述1

3.1优点1

3.2简要功能介绍1

4操作说明1

5.主界面运行效果2

摘要

随着人们通讯或了解信息的越来越数据化,特别是要求高速度的获取想要的信息计算机的要求越来越高,不仅是其容量上越来越大,特别是在其功能上要求的实现越来越多,数据类型和精确度越来越高。

通过一年来对JAVA课程设计的学习,我已经掌握了一些常用的控件的使用方法,对简单的程序设计的常用算法也有了一定的了解,还掌握了对图形和动画的一些基本操作。

为了进一步加深理解、验证、巩固课堂教学内容,加深对可视化编程思想的理解,强化Myeclipse或者Eclipse对程序流程控制、常用控件的属性、事件、方法的理解和使用;为了进一步提高编程能力、程序的调试能力,理论联系实际的能力;巩固所学的这些程序设计的方法,为了达到后续课程对实际编程计算能力的要求,特选定“简易计算器”这个小题目作为课程设计实践教学环节的题目,有助于培养综合运用所学知识解决实际问题的能力,可以充分发挥想象力和创新能力;有助于提高独立思考能力,和自学能力。

该程序是一个基于JAVA的程序设计界面时间懂得功能较简单计算机系统,实现了用户简单计算功能。

计算器实现

1引言

1.1任务与分析

本软件应具有运算加减乘除四则基本运算,其中涉及到了JAVA的很多知

识点,例如:

在界面设计中应熟悉掌握各个控件的属性,各种循环语句,选择语句,控件组等等。

有助于培养综合运用所学知识解决实际问题的能力,可以充分发挥想象力和创新能力;有助于提高独立思考能力,和自学能力。

1.2实验目的与要求

1.2.1实验目的

进一步掌握JAVA进行图形用户界面的定义和操作,进一步掌握类的继承和派生方法。

综合利用上述知识,学习设计并编写实用的JAVA简单GUI应用程序。

熟悉java,awt包中组件,掌握图形界面设计方法,理解委托事件处理模型。

设计并实现Windows系统中“计算器”的窗口及功能。

1.2.2实验要求

设计图形界添加菜单:

窗口上添加各种组件及菜单,并处理组建及菜单的事件监听程序。

运算:

实现多种运算,保证运算正确性。

2方案设计

2.1总体设计

本软件按照一般计算器的界面以及功能设计,具有最为基础的加减乘除四则运算。

先建立一个新的项目文件,里面包含一个Form1的窗体。

然后,添加控件,包括一个Text框(Text1)。

2.2功能设计

2.2.1main类方法设计

main类方法设计是程序的核心类,也是入口类.,进行计算的calculate类,利用堆栈对表达式进行计算并输出结果。

JFrame类,继承自javax.swing.JFrame,完成与图形化界面有关的设计。

3需求描述

3.1优点

要有友好、易于操作的界面。

3.2简要功能介绍

能够实现输入:

数学表达式(数字加、减、乘、除)输出:

表达式的正确结果

4操作说明

计算器以帮助用户完成数据的运算,我们制作的计算器是标准的计算器,既可以完成简单的计算。

4.1、本计算器支持十进制运算。

4.2、数字键0——9用于数字的键入,可键入个位数,也可连续键入多位数。

4.3、“.”用于小数点的键入

4.4、“+”“-”“*”“/”“=”分别用于加、减、乘、除及相等的运算。

功能流程图

5.运行效果

本实例代码编写完毕,单击右键弹出菜单栏,选择runas选择Javaapplication来编译程序,程序结果如图所示.

图1主要界面运行效果

 

6计算器的主要代码

6.1计算器的主要代码

packageCal;

importjava.awt.*;

importjava.awt.event.*;

importjava.util.EventObject;

importjavax.swing.*;

@SuppressWarnings("unused")

publicclassCalculatorGUI{

privateFramef;//声明Frame对象

privatePanelp1,p2;//声明Panel(面板)对象

privateButtonb0,b1,b2,b3,b4,b5,b6,b7,b8,b9;//分别定义10个数字的按钮

privateButtonbPoint,bAdd,bDec,bMul,Div,bCal;//分别定义加,减乘除等6个运算符的按钮

privateTextFieldtf;//输入数字的文本区域

privateStrings,op;

privateCalculatorcal=newCalculator();//定义Calculator对象来计算四则元算

privatebooleanifOp;

publicCalculatorGUI(){//GUI的构造方法,主要功能是来是实现程序的主要功能,以及界面设计

f=newFrame("Calculator");//把Calculator对象传值,同时作为对象结果返回到f中

p1=newPanel();//p1用来表示显示

p2=newPanel();//p2用来表示控制数字和运算符的区域

b0=newButton("0");

b1=newButton("1");

b2=newButton("2");

b3=newButton("3");

b4=newButton("4");

b5=newButton("5");

b6=newButton("6");

b7=newButton("7");

b8=newButton("8");

b9=newButton("9");

bPoint=newButton(".");

bAdd=newButton("+");

bDec=newButton("-");

bMul=newButton("*");

Div=newButton("/");

bCal=newButton("=");//接上结束

tf=newTextField(25);//文本区域的长度

tf.setEditable(false);

}

publicvoidlaunchFrame(){//完成主要功能的方法

f.setSize(250,200);//设置文本框大小

f.setResizable(false);

f.addWindowListener(newmyWindowListener());

p1.setLayout(newFlowLayout(FlowLayout.CENTER));

p1.add(tf);

f.add(p1,BorderLayout.NORTH);

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

b0.addActionListener(newsetLabelText_ActionListener());//为10个数字增加addActionListener监听器,并且把输入的文本传入作为ActionListener的监听对象

b1.addActionListener(newsetLabelText_ActionListener());

b2.addActionListener(newsetLabelText_ActionListener());

b3.addActionListener(newsetLabelText_ActionListener());

b4.addActionListener(newsetLabelText_ActionListener());

b5.addActionListener(newsetLabelText_ActionListener());

b6.addActionListener(newsetLabelText_ActionListener());

b7.addActionListener(newsetLabelText_ActionListener());

b8.addActionListener(newsetLabelText_ActionListener());

b9.addActionListener(newsetLabelText_ActionListener());//结束

bPoint.addActionListener(newsetLabelText_ActionListener());//同上

bAdd.addActionListener(newsetOperator_ActionListener());

bDec.addActionListener(newsetOperator_ActionListener());

bMul.addActionListener(newsetOperator_ActionListener());

Div.addActionListener(newsetOperator_ActionListener());

bCal.addActionListener(newsetOperator_ActionListener());//结束

p2.add(b7);//面板p2对象调用add方法,把数字和运算符作为参数传递目的是为了用来计算算添加的对象值

p2.add(b8);

p2.add(b9);

p2.add(bAdd);

p2.add(b4);

p2.add(b5);

p2.add(b6);

p2.add(bDec);

p2.add(b1);

p2.add(b2);

p2.add(b3);

p2.add(bMul);

p2.add(b0);

p2.add(bPoint);

p2.add(bCal);

p2.add(Div);

f.add(p2,BorderLayout.SOUTH);//结束

f.setVisible(true);//JFrame对象设置成可显示

}

publicvoidsetTextFieldText_Temp(){

if(tf.getText().length()<15&&(tf.getText().indexOf(".")==-1||!

s.equals("."))){

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

}else{

tf.setText((tf.getText()+s).substring(0,15));//字符串截取substring(intbeginIndex)返回一个新的字符串,它是此字符串的一个子字符串。

}

}

publicvoidsetTextFieldText(){//设置文本方法

if(ifOp){

ifOp=false;

tf.setText("");

setTextFieldText_Temp();

}else{

setTextFieldText_Temp();

}

}

publicstaticvoidmain(String[]args){//主方法

CalculatorGUIcalculator=newCalculatorGUI();//声明CalculatorGUI对象

calculator.launchFrame();//CalculatorGUI对象calculator对象调用launchFrame方法来完成主要运算

}

classmyWindowListenerextendsWindowAdapter{//子类myWindowListener继承WindowAdapter更新父类实现结果的更新

publicvoidwindowClosing(WindowEvente){//windowClosing是处理窗口正在关闭这个事件

System.exit(0);

}

}

classsetLabelText_ActionListenerimplementsActionListener{//setLabelText_ActionListener继承ActionListener接口接听获取事件

publicvoidactionPerformed(ActionEvente){//可以处理类似单击鼠标时触发的事件ActionEvent就是一个事件类,传入的e就是该事件的对象

ButtontempB=(Button)e.getSource();//获取事件

s=tempB.getLabel();//获取此按钮的标签

setTextFieldText();

}

}

 

classsetOperator_ActionListenerimplementsActionListener{//这个主要作用是用来判断当前获取的的运算符是哪一个来作为运算

publicvoidactionPerformed(ActionEvente){//可以处理类似单击鼠标时触发的事件ActionEvent就是一个事件类,传入的e就是该事件的对象

ButtontempB=(Button)e.getSource();

op=tempB.getLabel();//是tempB对象调用getLablel()方法,赋值给op,并且判断当前要计算怎么样的运算

if(op.equals("+")){//判断获取的运算是否做+运算

tf.setText(cal.opAdd(tf.getText()));

ifOp=true;

}elseif(op.equals("-")){//判断获取的运算是否做-运算

tf.setText(cal.opSubtract(tf.getText()));

ifOp=true;

}elseif(op.equals("*")){//判断获取的运算是否做*运算

tf.setText(cal.opMultiply(tf.getText()));

ifOp=true;

}elseif(op.equals("/")){//判断获取的运算是否做/运算

tf.setText(cal.opDivide(tf.getText()));

ifOp=true;

}elseif(op.equals("=")){//判断获取的运算是否做=运算

tf.setText(cal.opEquals(tf.getText()));

ifOp=true;//结束

}

}

}

}

6.2用Calculator类来实现四则运算

packageCal;

publicclassCalculator{

privateStringresult="0";//结果初始化

privateintop=0,add=1,sub=2,mul=3,div=4;//运算标识

privatedoublestringToDouble(Stringx){

doubley=Double.parseDouble(x);//转换为Double

returny;

}

privatevoidoperate(Stringx){

doublex1=stringToDouble(x);

doubley=stringToDouble(result);

switch(op){

case0:

result=x;

break;//开始

case1:

result=String.valueOf(y+x1);//参数转换为String类型

break;

case2:

result=String.valueOf(y-x1);

break;

case3:

result=String.valueOf(y*x1);

break;

case4:

if(x1!

=0){

result=String.valueOf(y/x1);

}else{

result="Thedivisorcan'tbezero!

";

}

break;//结束

}

}

publicStringopAdd(Stringx){

operate(x);

op=add;

returnresult;

}

publicStringopSubtract(Stringx){

operate(x);

op=sub;

returnresult;

}

publicStringopMultiply(Stringx){

operate(x);

op=mul;

returnresult;

}

publicStringopDivide(Stringx){

operate(x);

op=div;

returnresult;

}

publicStringopEquals(Stringx){

operate(x);

op=0;

returnresult;

}

publicvoidopClean(){

op=0;

result="0";

}

}

7计算器运行界面效果图片如下所示:

1.程序主界面:

图7-1程序运行主要界面图

2.程序输入数字效果图片

图7-2输入要计算的数字效果图片

3程序运行结果图片

图7-3程序运行相加图片

4.程序相加运行结果图片:

图7-4程序运算结果图

5.程序相乘效果图:

图7-5程序计算相乘结果图

6.程序相乘数字效果图:

图7-6程序相乘输入数字图

7程序相乘结果图

图7-7程序相乘运行图

8.程序相除结果效果图:

图7-8计算相乘效果图片

8主要参考文献

参考文献

1)白广元*JavaWeb整合开发完全自学手册机械工业出版社

2)王国辉*李中尉王毅*Java程序设计基础人民邮电出版社

3)孙卫琴*JavaWeb设计与开发人民教育出版社

4)孙卫琴*精通HibernateJava对象持久化技术详解人民教育出版社

5)BruceEckel*Java编程思想(第3版)Java四大名著

9总结

实训个人总结

 

签字:

王洋

2013年12月26日

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

当前位置:首页 > 医药卫生 > 基础医学

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

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