实训名称: 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)支持复制和粘贴操作
系统模块设计
(1)加法
两个数据进行加操作,可以为小数。
(2)减法
两个数据进行减操作,可以为负数相减。
(
3)乘法
两个数相乘操作。
(4)除法
两个数相除操作。
(5)开平方
对任意一个数进行开方运算,可以是小数。
(6)求余
对任意一个数进行求余运算。
(7)倒数
对任意一个数进行倒数运算。
(8)转换
将十进制数转换为二进制以及将二进制转换为十进制。
数据库结构设计
图1 计算机E-R 图
图2 流程图
3 主要代码清单
这段代码主要是对程序的主框架进行相应的设置 super("简易计算器"); setSize(300,260);
(new BorderLayout());
jPanel1=new JPanel();
(new GridLayout(1,1)); ");
(this);
f2=new JButton(" = ");
(this);
f3=new JButton(" C "); (this);
f4=new JButton(" 负");
(this);
f5=new JButton(" 退格");
(this);
(f3);
(b4);
(b3);
(f5);
(s7);
(s8);
(s9);
(b1);
(s4);
(s5);
(s6);
(b2);
(s1);
(s2);
(s3);
(b5);
(s0);
(f1);
(f4);
(b6);
(b7);
(b8);
(b9);
(f2);
(3)数据输入用方法num(int i)设计如下:public void num(int i){
String s = null;
s=(i); quals("0")){
ength();
if(i==1){
("0");
}
else { str=(); (0,i-1));
}
}
}
图3 主要程序图4 程序运行与测试
图4 加法实现图
图5 减法实现图
图6 乘法实现图
图7 除法实现图
图8 二进制变十进制
图9 十进制变二进制
5 实训总结
经过一周的实习,本学期的java课程设计到此也算告一段落了,经过这次的学习,我学到了很多东西,在此基础上更加巩固了自己对java基本知识及软件开发的了解。
在做本项目是时候,会遇到很多小问题,比如说,在整个运算过程中要如何确保输入的计算数据哪个是第一个计算数据的,哪个是第二个计算数据的,同时也要区分运算符,因为该计算器程序应用的都是利用字符串来完成计算的,而且不能重复输出运算符,更不能将运算符错误的存储在了第一个计算数据的数值中,也得考虑到万一不小心重复点击了运算符按钮会不会造成第一个计算数据的重
新赋值等等问题,最后想到利用布尔类型来很好的控制运算符的应用!
此次课程设计让我更了解熟悉了Java中的图形用户界面和它的编程方式。
在完成课题的过程中也不断充实了自己,学习到了很多以前没有学习到的知识,收获很大。
最大的收获就是对大学学习的总结和培养了解决困难的信心和能力,使我对所学知识能够融会贯通,又不断丰富了新知识。
Java计算器设计使得我
们对所学的专业课有了更为深刻的认识,使得知识得到了巩固和提高。
在接下来的时间里,我觉得我要更加努力的往深一层次的方面看齐,了解更多有关java的知识,熟练掌握java中常用类的方法。