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

    JAVA课程设计计算器.docx

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

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

    JAVA课程设计计算器.docx

    1、JAVA课程设计计算器JAVA程序设计课程设计任务书一、课程设计的目的1、培养学生面向对象编程的思想;2、使学生熟悉JAVA语言的使用;3、培养学生JAVA编程的思想和方法;4、使学生掌握JAVA编程调试的基本技能;5、培养学生分析、解决问题的能力。二、课程设计容与要求1、容一:1简单计算器题目描述使用Java的GUI图形用户界面编程设计并编写一个计算器程序,用户可以通过鼠标或者键盘操作输入参加运算的数值和运算符,要求能进行加、减、乘、除等混合运算。基本要求实现加、减、乘、除的双目单类别的基础运算;实现提示GUI编程 Component的事件响应。参考界面JAVA程序设计课程设计一、系统中所使

    2、用的数据对象及说明1、Calculator类属性属性名称类型描述JmbJMenuBar菜单栏Jm1 jm2 jm3 JMenu 菜单JmiJMenuItem菜单项fJFrame 实例化对象Panel1 1JPanel 输入面板CommandsPanelJPanel 运算符面板calckeysPanelJPanel 数字面板showline JTextField 数据输出框backspace JButton 退格键CE JButton 清空C JButton 删除1/XJButton 取余dao JButton 取倒数add JButton 数字相加jian JButton 数字相减cheng

    3、JButton 数字相乘quzheng JButton 数字相除dian JButton 点符号deng JButton 等于号zero JButton 一one JButton 二two JButton 三three JButton 四four JButton 五five JButton 六six JButton 七seven JButton 八eight JButton 九num1 String保存第一个运算数字operator String保存运算符号方法方法名称功能Calculator计算器布局Add添加组件、面板addMouseListener添加鼠标监听事件setJMenuBar设

    4、置菜单2、系统功能结构及相关算法描述1、系统功能结构 系统功能结构图2、相关算法流程图Mun1是否存在执行加、减法运算得出S将S添加到show文本框YN(1)加减法流程(2)Mun1是否存在执行乘、除法运算得出SYN乘除法流程(3)乘方取余法流程三、系统运行结果(截图)1、主菜单四、课程设计总结通过此次课程设计,使我更加扎实的掌握了有关JAVA图形界面布局等方面的知识,虽然在设计过程中也遇到了很多问题,但经过一次又一次的思考,一遍又一遍检查和反复修改终于找到了原因所在,也暴露了前期我在这方面的知识欠缺。课程设计是一种实践活动,不但可以提升专业知识和专业能力,也培养了我们独立思考,动手操作的能力

    5、,使我对抽象的知识有了具体的认识。这对于我们的将来也有很大的帮助。此次课程设计也让我明白没有最完善的程序代码,只有不断地改善才能使程序变得更完美,同时也增强了我对JAVA的兴趣,相信继续保持下去对JAVA的理解一定会更上一层楼。附录:程序源码import java.awt.BorderLayout;import java.awt.Color;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener; import javax.swing.JButton;im

    6、port javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JPanel;import javax.swing.JSeparator;import javax.swing.JTextField; public class Calculator extends JFrame implements ActionListener JMenuBar jmb; JMenu jm1,jm2,jm3; JMenuItem

    7、 jmi; /* 计算器上的键的显示名字 */ private final String KEYS = 7, 8, 9, /, sqrt, 4, 5, 6, *, %, 1, 2, 3, -, 1/x, 0, +/-, ., +, = ; /* 计算器上的功能键的显示名字 */ private final String COMMAND = Backspace, CE, C ; /* 计算器上键的按钮 */ private JButton keys = new JButtonKEYS.length; /* 计算器上的功能键的按钮 */ private JButton commands = new

    8、 JButtonCOMMAND.length; /* 计算器左边的M的按钮 */ /* 计算结果文本框 */ private JTextField resultText = new JTextField(0); / 标志用户按的是否是整个表达式的第一个数字,或者是运算符后的第一个数字 private boolean firstDigit = true; / 计算的中间结果。 private double resultNum = 0.0; / 当前运算的运算符 private String operator = =; / 操作是否合法 private boolean operateValidFl

    9、ag = true; /* * 构造函数 */ public Calculator() super(); JMenuBar jmb=new JMenuBar(); this.setJMenuBar(jmb); JMenu jm=new JMenu(编辑(E); jmb.add(jm); jmi= new JMenuItem(复制(c) Ctrl+c); jm.add(jmi); jmi= new JMenuItem(粘贴(p) Ctrl+v); jm.add(jmi); jm2=new JMenu(查看(v); jmb.add(jm2); jmi= new JMenuItem(标准型(T);

    10、jm2.add(jmi); jmi= new JMenuItem(科学型(S); jm2.add(jmi); jm2.add(new JSeparator(); jmi= new JMenuItem(数学分组(I); jm2.add(jmi); jm3=new JMenu(帮助(H); jmb.add(jm3); jmi= new JMenuItem(帮助主题(H); jm3.add(jmi); jm3.add(new JSeparator(); jmi= new JMenuItem(关于计算器(A); jm3.add(jmi); / 初始化计算器 init(); / 设置计算器的背景颜色 t

    11、his.setBackground(Color.LIGHT_GRAY); this.setTitle(计算器); / 在屏幕(500, 300)坐标处显示计算器 this.setLocation(500, 300); / 不许修改计算器的大小 this.setResizable(false); / 使计算器中各组件大小合适 this.pack(); /* * 初始化计算器 */ private void init() / 文本框中的容采用右对齐方式 resultText.setHorizontalAlignment(JTextField.RIGHT); / 不允许修改结果文本框 resultT

    12、ext.setEditable(false); / 设置文本框背景颜色为白色 resultText.setBackground(Color.WHITE); / 初始化计算器上键的按钮,将键放在一个面板 JPanel calckeysPanel = new JPanel(); / 用网格布局器,4行,5列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素 calckeysPanel.setLayout(new GridLayout(4, 5, 3, 3); for (int i = 0; i KEYS.length; i+) keysi = new JButton(KEYSi);

    13、calckeysPanel.add(keysi); keysi.setForeground(Color.blue); / 运算符键用红色标示,其他键用蓝色表示 keys3.setForeground(Color.red); keys8.setForeground(Color.red); keys13.setForeground(Color.red); keys18.setForeground(Color.red); keys19.setForeground(Color.red); / 初始化功能键,都用红色标示。将功能键放在一个面板 JPanel commandsPanel = new JPa

    14、nel(); / 用网格布局器,1行,3列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素 commandsPanel.setLayout(new GridLayout(1, 3, 3, 3); for (int i = 0; i COMMAND.length; i+) commandsi = new JButton(COMMANDi); commandsPanel.add(commandsi); commandsi.setForeground(Color.red); / 下面进行计算器的整体布局,将calckeys和command面板放在计算器的中下部 / 新建一个大的面板,

    15、将上面建立的command和calckeys面板放在该面板 JPanel panel1 = new JPanel(); / 面板采用边界布局管理器,面板里组件之间的水平和垂直方向上间隔都为3象素 panel1.setLayout(new BorderLayout(3, 3); panel1.add(North, commandsPanel); panel1.add(Center, calckeysPanel); / 建立一个面板放文本框 JPanel top = new JPanel(); top.setLayout(new BorderLayout(); top.add(Center, re

    16、sultText); / 整体布局 getContentPane().setLayout(new BorderLayout(3, 5); getContentPane().add(North, top); getContentPane().add(Center, panel1); / 为各按钮添加事件监听器 / 都使用同一个事件监听器,即本对象。本类的声明中有implements ActionListener for (int i = 0; i KEYS.length; i+) keysi.addActionListener(this); for (int i = 0; i = 0) / 用户

    17、按了数字键或者小数点键 handleNumber(label); / handlezero(zero); else / 用户按了运算符键 handleOperator(label); /* * 处理Backspace键被按下的事件 */ private void handleBackspace() String text = resultText.getText(); int i = text.length(); if (i 0) / 退格,将文本最后一个字符去掉 text = text.substring(0, i - 1); if (text.length() = 0) / 如果文本没有了

    18、容,则初始化计算器的各种值 resultText.setText(0); firstDigit = true; operator = =; else / 显示新的文本 resultText.setText(text); /* * 处理数字键被按下的事件 * * param key */ private void handleNumber(String key) if (firstDigit) / 输入的第一个数字 resultText.setText(key); else if (key.equals(.) & (resultText.getText().indexOf(.) 0) / 输入的

    19、是小数点,并且之前没有小数点,则将小数点附在结果文本框的后面 resultText.setText(resultText.getText() + .); else if (!key.equals(.) / 如果输入的不是小数点,则将数字附在结果文本框的后面 resultText.setText(resultText.getText() + key); / 以后输入的肯定不是第一个数字了 firstDigit = false; /* * 处理C键被按下的事件 */ private void handleC() / 初始化计算器的各种值 resultText.setText(0); firstDi

    20、git = true; operator = =; /* * 处理运算符键被按下的事件 * * param key */ private void handleOperator(String key) if (operator.equals(/) / 除法运算 / 如果当前结果文本框中的值等于0 if (getNumberFromText() = 0.0) / 操作不合法 operateValidFlag = false; resultText.setText(除数不能为零); else resultNum /= getNumberFromText(); else if (operator.e

    21、quals(1/x) / 倒数运算 if (resultNum = 0.0) / 操作不合法 operateValidFlag = false; resultText.setText(零没有倒数); else resultNum = 1 / resultNum; else if (operator.equals(+) / 加法运算 resultNum += getNumberFromText(); else if (operator.equals(-) / 减法运算 resultNum -= getNumberFromText(); else if (operator.equals(*) /

    22、乘法运算 resultNum *= getNumberFromText(); else if (operator.equals(sqrt) / 平方根运算 resultNum = Math.sqrt(resultNum); else if (operator.equals(%) / 百分号运算,除以100 resultNum = resultNum / 100; else if (operator.equals(+/-) / 正数负数运算 resultNum = resultNum * (-1); else if (operator.equals(=) / 赋值运算 resultNum = g

    23、etNumberFromText(); if (operateValidFlag) / 双精度浮点数的运算 long t1; double t2; t1 = (long) resultNum; t2 = resultNum - t1; if (t2 = 0) resultText.setText(String.valueOf(t1); else resultText.setText(String.valueOf(resultNum); / 运算符等于用户按的按钮 operator = key; firstDigit = true; operateValidFlag = true; /* * 从

    24、结果文本框中获取数字 * * return */ private double getNumberFromText() double result = 0; try result = Double.valueOf(resultText.getText().doubleValue(); catch (NumberFormatException e) return result; public static void main(String args) Calculator calculator1 = new Calculator(); calculator1.setVisible(true); calculator1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


    注意事项

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

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




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

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

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


    收起
    展开