欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    JAVA课程设计报告书.docx

    • 资源ID:9847799       资源大小:20.02KB        全文页数:22页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    JAVA课程设计报告书.docx

    1、JAVA课程设计报告书JAVA课程设计报告书院(系):计算机科技与技术学院年级专业: 指导老师: 学生姓名: 学生学号: 程序名称: 简易计算器开始时间:完成时间:目录:1. 需求分析2. 主要函数说明3. 特点算法4. 程序缺陷5. 使用说明6. 课程设计小结7. 程序源代码8.参考文献(JAVA5.0API,XX知道)一、需求分析:本程序是一简易实用的计算器,能对四则运算,及开根号、求倒数、百分数进行运算. 具体如下:序号 文件名 主要功能 1. + 加法 2 . - 减法 3. * 乘法 4. / 除法 5 . 根号 求平方根 6 . 倒数 求倒数 7. % 百分数 8. = 等于 9.

    2、 CE 将当前文本框内数据清除 10. C 文本框内数据清除11. Backspace 撤销上次操作二、函数说明: main函数:主函数,整个程序的灵魂。 windowClosing()函数:用来实现单击窗口上的“X”符号退出程序。 actionListener()函数 与actionPerformed()函数:“监听器”用来实现各种事件,是所有事件的总控制函数,用于对捕捉到的事件进行处理. 三、特点算法: 1. 本程序可以实现连续三个以上数的计算,例如:输入3+3+3后,点击等号将输出9。2. 解决了输入多位数计算和计算精度的问题3. 在设计数字事件时,为避免数字事件代码重复出现,写了一个数

    3、字事件函数给予每个数字事件的调运.四、程序缺陷:1、在制作此程序设计时,没有对该计算器的计算功能再扩展,如科学计算器,三角函数,反三角函数的计算等。2. 由于知识,时间有限,未能在计算器中实现MC,MR等功能。3、 在调试过程中,因为掌握的java知识及时间有限,因此自身无法实现连加、连减、连乘、连除的功能,此功能的实现参照了网络上的部分运算代码,出处:XX知道。4、在制作此程序设计时,因为没有特别了解java的功能,所以在制作过程中有许多的不足,后经过对程序中的成员变量及程序的设计有了一定的了解;五、使用说明: 1. 先参见上面需求分析中的各个按键功能. 2. 然后输入数据,单击个按钮, 最

    4、后按“=”键实现结果。 3. 单击窗口上的“X”符号退出程序.六、课程设计小结及心得体会: 在此次java课程设计过程中,通过3,4天时间我们把一学期所学到的知识用于实践,设计一个属于我们自己的计算器.在这个过程中遇到了一些问题,但是也收获了很多. 1,整个计算器的布局是个考验.为了使得布局完美,我们将所学的各种布局管理器进行调试并设计,然后采用BorderLayout及flowLayout与GriderLayout布局管理器的综合布局,最终决定方案(此程序布局参考微软系统自带计算器布局)。 2,在实现计算器的计算和输入功能时,如何输入一位以上的数据进行计算成了一个障碍;在如何进行连续的3次以

    5、上的连续运算也遇到了极大的困难,最后此运算算法参考了网上的编程网友的算法。 3,在设计小数点时,如何输入小数及只能输入一个小数点上也被遇到了困难.最后在老师的帮助下实现了此功能。 4,在实际运行中还有很多问题,通过一次次试验,最终完善了此计算器上的算法(比如负数开根号时,分母为0时,连续按功能键出错等)。 总之,通过这次java课程设计实践,使我们对这学期所学的java知识有了一个系统的了解并将其付诸于实践,其实更是一次彻底的大复习,使我们对JAVA这门语言有了更深入的了解并且这次借机会还很好的锻炼了我们的团队合作能力。七、程序源代码: import java.awt.*;import jav

    6、ax.swing.*;import java.awt.event.*;import java.text.DecimalFormat;public class work1 implements ActionListener /导入动作监听接口 /设计面板中的单位 JFrame frame; JTextField textAnswer; JPanel panel, panel1, panel2, panel3; JMenuBar mainMenu; JLabel labelMemSpace; /labelMemSpace/控制面板的形状 JButton buttonBk, buttonCe, bu

    7、ttonC; JButton button; JButton buttonDot, buttonAddAndSub, buttonAdd, buttonSub, buttonMul, buttonDiv, buttonMod,buttonSqrt, buttonDao, buttonEqual; JMenu makerMenu; JMenuItem makerItem; DecimalFormat df; /设置数据输出精度 boolean clickable; /控制当前能否按键 double vard, answerd; /用来保存double型数据的中间值(vard)和最后结果(answ

    8、erd) short key = -1, prekey = -1; /key用来保存当前进行何种运算,prekey用来保存前次进行何种运算 JTextArea maker; /制作者 /构造函数 public work1() clickable = true; answerd = 0; frame = new JFrame(DIY计算器); df = new DecimalFormat(0.#); /设置数据输出精度,小数点后10位(对于double型值) textAnswer = new JTextField(16); textAnswer.setText(); textAnswer.set

    9、Editable(false); textAnswer.setBackground(Color.white); panel = new JPanel(); frame.getContentPane().add(panel); panel1 = new JPanel(); panel2 = new JPanel(); panel.setLayout(new BorderLayout(); /设计整个面板 mainMenu = new JMenuBar(); makerMenu = new JMenu(制作者(Maker); makerItem = new JMenuItem(xxx,xxx );

    10、 makerItem.addActionListener(this); makerMenu.add(makerItem); mainMenu.add(makerMenu); panel.add(mainMenu, BorderLayout.NORTH); panel.add(textAnswer, BorderLayout.CENTER); panel.add(panel1, BorderLayout.SOUTH); panel1.setLayout(new BorderLayout(); labelMemSpace = new JLabel( JAVA课程小设计 ); buttonBk =

    11、new JButton(Backspace); buttonCe = new JButton(CE); buttonC = new JButton(C); buttonBk.addActionListener(this); buttonCe.addActionListener(this); buttonC.addActionListener(this); panel1.add(panel2, BorderLayout.NORTH); panel2.setLayout(new FlowLayout(FlowLayout.RIGHT); panel2.add(labelMemSpace); pan

    12、el2.add(buttonBk); panel2.add(buttonCe); panel2.add(buttonC); panel3 = new JPanel(); panel1.add(panel3, BorderLayout.CENTER); button = new JButton10; for (int i = 0; i button.length; i+) buttoni = new JButton(Integer.toString(i); buttonDot = new JButton(.); buttonAddAndSub = new JButton(+/-); button

    13、Add = new JButton(+); buttonSub = new JButton(-); buttonMul = new JButton(*); buttonDiv = new JButton(/); buttonMod = new JButton(%); buttonSqrt = new JButton(根号); buttonDao = new JButton(倒数); buttonEqual = new JButton(=); /将所有行为与监听绑定 panel3.setLayout(new GridLayout(4, 5); panel3.add(button7); butto

    14、n7.addActionListener(this); panel3.add(button8); button8.addActionListener(this); panel3.add(button9); button9.addActionListener(this); panel3.add(buttonDiv); buttonDiv.addActionListener(this); panel3.add(buttonSqrt); buttonSqrt.addActionListener(this); panel3.add(button4); button4.addActionListener

    15、(this); panel3.add(button5); button5.addActionListener(this); panel3.add(button6); button6.addActionListener(this); panel3.add(buttonMul); buttonMul.addActionListener(this); panel3.add(buttonMod); buttonMod.addActionListener(this); panel3.add(button1); button1.addActionListener(this); panel3.add(but

    16、ton2); button2.addActionListener(this); panel3.add(button3); button3.addActionListener(this); panel3.add(buttonSub); buttonSub.addActionListener(this); panel3.add(buttonDao); buttonDao.addActionListener(this); panel3.add(button0); button0.addActionListener(this); panel3.add(buttonAddAndSub); buttonA

    17、ddAndSub.addActionListener(this); panel3.add(buttonDot); buttonDot.addActionListener(this); panel3.add(buttonAdd); buttonAdd.addActionListener(this); panel3.add(buttonEqual); buttonEqual.addActionListener(this); frame.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) Sys

    18、tem.exit(0); ); frame.pack(); frame.show(); /设置各个按钮行为 public void actionPerformed(ActionEvent event) Object temp = event.getSource(); try /如果按下数据按钮,将按下的按钮代表的数据插入的当前文本框字符串之后 for (int i = 0; i = 9; i+) if (temp = buttoni & clickable = true) textAnswer.setText(textAnswer.getText() + Integer.toString(i)

    19、; /按下.按钮时,判断当前文本框内字符串中含不含.,如果已含,则不允许再插入. if (temp = buttonDot & clickable = true) boolean isDot = false; if (textAnswer.getText().length() = 0) isDot = true; for (int i = 0; i textAnswer.getText().length(); i+) if (. = textAnswer.getText().charAt(i) isDot = true; break; if (isDot = false) textAnswer

    20、.setText(textAnswer.getText() + .); if ( (temp = buttonAdd | temp = buttonSub | temp = buttonMul | temp = buttonDiv) & clickable = true) /+操作 if (temp = buttonAdd) switch (prekey) case 0: answerd += Double.parseDouble(textAnswer.getText(); break; case 1: answerd -= Double.parseDouble(textAnswer.getT

    21、ext(); break; case 2: answerd *= Double.parseDouble(textAnswer.getText(); break; case 3: if (Double.parseDouble(textAnswer.getText() = 0) textAnswer.setText(小学知识还给老师了?_除数不能为零); clickable = false; else answerd /= Double.parseDouble(textAnswer.getText(); break; default: answerd = Double.parseDouble(te

    22、xtAnswer.getText(); textAnswer.setText(); prekey = key = 0; /-操作 if (temp = buttonSub) switch (prekey) case 0: answerd += Double.parseDouble(textAnswer.getText(); break; case 1: answerd -= Double.parseDouble(textAnswer.getText(); break; case 2: answerd *= Double.parseDouble(textAnswer.getText(); bre

    23、ak; case 3: if (Double.parseDouble(textAnswer.getText() = 0) textAnswer.setText(小学知识还给老师了?_除数不能为零); clickable = false; else answerd /= Double.parseDouble(textAnswer.getText(); break; default: answerd = Double.parseDouble(textAnswer.getText(); textAnswer.setText(); prekey = key = 1; /*操作 if (temp = b

    24、uttonMul) switch (prekey) case 0: answerd += Double.parseDouble(textAnswer.getText(); break; case 1: answerd -= Double.parseDouble(textAnswer.getText(); break; case 2: answerd *= Double.parseDouble(textAnswer.getText(); break; case 3: if (Double.parseDouble(textAnswer.getText() = 0) textAnswer.setTe

    25、xt(小学知识还给老师了?_除数不能为零); clickable = false; else answerd /= Double.parseDouble(textAnswer.getText(); break; default: answerd = Double.parseDouble(textAnswer.getText(); textAnswer.setText(); prekey = key = 2; /操作 if (temp = buttonDiv) switch (prekey) case 0: answerd += Double.parseDouble(textAnswer.get

    26、Text(); break; case 1: answerd -= Double.parseDouble(textAnswer.getText(); break; case 2: answerd *= Double.parseDouble(textAnswer.getText(); break; case 3: if (Double.parseDouble(textAnswer.getText() = 0) textAnswer.setText(小学知识还给老师了?_除数不能为零); clickable = false; else answerd /= Double.parseDouble(t

    27、extAnswer.getText(); break; default: answerd = Double.parseDouble(textAnswer.getText(); textAnswer.setText(); prekey = key = 3; /=操作 if (temp = buttonEqual & clickable = true) /如果连续按=,则进行连续运算 if (prekey = 5) if (key = 0) answerd += vard; textAnswer.setText(df.format(answerd); if (key = 1) answerd -=

    28、 vard; textAnswer.setText(df.format(answerd); if (key = 2) answerd *= vard; textAnswer.setText(df.format(answerd); if (key = 3) if (Double.parseDouble(textAnswer.getText() = 0) textAnswer.setText(小学知识还给老师了?_除数不能为零); clickable = false; else answerd /= vard; textAnswer.setText(df.format(answerd); else

    29、 vard = Double.parseDouble(textAnswer.getText(); if (key = 0) prekey = -1; answerd += Double.parseDouble(textAnswer.getText(); textAnswer.setText(df.format(answerd); if (key = 1) prekey = -1; answerd -= Double.parseDouble(textAnswer.getText(); textAnswer.setText(df.format(answerd); if (key = 2) prekey = -1; answerd *= Double.parseDouble(textAnswer.getText(); textAnswer.setText(df.format(answerd);


    注意事项

    本文(JAVA课程设计报告书.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


    收起
    展开