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

实训课题
简易计算器
实训人姓名
零基础学java编程
同组人员
实训日期
2015.12.07至2015.12.11
实训成绩
指导教师评语
指导教师签名:______________
_______年 ____ 月____日

简易计算机的设计与实现
1 实训目的
通过本课程设计能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。利用Java Applet图形界面首先开始设计一个计算器的界面,定义计算器所需要的按钮并赋给其按钮名称,使得使用计算器时简单明了,清晰可见,操作轻松。 
   给各个按钮进行算法,利用鼠标点击事件,当鼠标点击某个按钮时就开始执行那个按钮所定义的算法,生成数据并显示。 
   除数字的输入为直接进行输入外,其他运算例如+、-、*、/、开平方等算法要求计算时通过内部较为复杂的运算将结果显示在显示屏上。 
   至于其中的进制转换功能的实现则是直接调用Java中进制转换的函数,例如要将十进制
转换成二进制则可直接调用函数BinaryString(int i)来实现,充分显示了Java语言的简洁性和Java语言功能的强大性。 
   当然了在输入数据时还要进行异常捕捉,防止越界的现象的发生,这也是Java语言健壮性的体现!
2  简易计算机的分析与设计
2.1  系统功能描述
此系统可以实现如下功能:
    1)可进行“+”、“-”、“*”、“/”以及混合运算。
    2)支持()改变运算的优先级
    3)可进行二、十六和十进制数的相互转换
    4)支持复制和粘贴操作
2.2  系统模块设计
(1)加法 
 两个数据进行加操作,可以为小数。 
(2)减法 
 两个数据进行减操作,可以为负数相减。 (
3)乘法 
 两个数相乘操作。
 (4)除法 
 两个数相除操作。 
(5)开平方 
对任意一个数进行开方运算,可以是小数。 
(6)求余 
对任意一个数进行求余运算。 
(7)倒数 
对任意一个数进行倒数运算。 
(8)转换 
将十进制数转换为二进制以及将二进制转换为十进制。
2.3  数据库结构设计
   
 
图1  计算机E-R图
图2 流程图
3  主要代码清单
 这段代码主要是对程序的主框架进行相应的设置 super("简易计算器"); 
 setSize(300,260);   
 this.setLayout(new BorderLayout());   
  jPanel1=new JPanel();   
 jPanel1.setLayout(new GridLayout(1,1));  //一行一列的布局 
 jPanel2=new JPanel();   
 jPanel2.setLayout(new GridLayout(6,4)); 
//六行四列的布局 
resultField=new JTextField("0");     
jPanel1.add(resultField);   
 this.add(jPanel1,BorderLayout.NORTH);   
 this.add(jPanel2,BorderLayout.CENTER);
设置数字按钮1到9并添加监控以及符号等的添加监控 
 s1=new JButton("  1  "); 
s1.addActionListener(this);   
s2=new JButton("  2  "); 
s2.addActionListener(this);   
s3=new JButton("  3  "); 
s3.addActionListener(this);     
s4=new JButton("  4  "); 
s4.addActionListener(this);
s5=new JButton("  5  "); 
 s5.addActionListener(this);   
  s6=new JButton("  6  "); 
 s6.addActionListener(this);   
  s7=new JButton("  7  "); 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。