JAVA课程设计

上传人:仙*** 文档编号:78694560 上传时间:2022-04-22 格式:DOC 页数:17 大小:209.52KB
返回 下载 相关 举报
JAVA课程设计_第1页
第1页 / 共17页
JAVA课程设计_第2页
第2页 / 共17页
JAVA课程设计_第3页
第3页 / 共17页
点击查看更多>>
资源描述
一、课程设计目的本课程设计的目标就是要达到理论与实际应用相结合,提高学生组织数据及编写大型程序的能力,并培养基本的、良好的程序设计技能以及合作能力。设计中要求综合运用所学知识,上机解决一些与实际应用结合紧密的、规模较大的问题,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握数据结构和算法设计技术,掌握分析、解决实际问题的能力。通过这次设计,要求在数据结构的逻辑特性和物理表示、数据结构的选择和应用、算法的设计及其实现等方面,加深对课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。二、课程设计内容简单计算器题目描述使用Java的GUI图形用户界面编程设计并编写一个计算器程序,用户可以通过鼠标或者键盘操作输入参加运算的的数值和运算符,要求能进行加、减、乘、除等混合运算。基本要求(1)实现加、减、乘、除的双目单类别的基础运算;(2)实现加、减、乘、除的多目多类别的混合运算。(3)实现三角函数(sin., cos, tan)运算。(4)实现幂运算(Xn),方根运算()。实现提示GUI编程 Component的事件响应。三、课程设计过程1需求分析使用Java的GUI图形用户界面编程设计并编写一个计算器程序,用户可以通过鼠标或者键盘操作输入参加运算的的数值和运算符,要求能进行加、减、乘、除等混合运算。2概要设计(1) 输入的形式和输入值的范围;从文本域中输入,输入值的范围2.147483896471E122)输出的形式;从文本域中输出,字符串的形式输出(3) 程序所能达到的功能; 1 实现加、减、乘、除的双目单类别的基础运算;2 实现加、减、乘、除的多目多类别的混合运算。3 实现三角函数(sin., cos, tan)运算。4 实现幂运算(Xn),方根运算()。(4) 测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。3详细设计实现概要设计中定义的所有的数据类型,对每个操作给出伪码算法。对主程序和其他模块也都需要写出伪码算法。class ComputerPad extends Frame implements ActionListener NumberButton numberButton; OperationButton oprationButton; Button 小数点按钮,正负号按钮,退格按钮, 求倒数按钮,等号按钮,清零按钮, 正弦按钮,余弦按钮,正切按钮; Panel panel; JTextField resultShow; String 运算符号=+,-,*,/,n; LinkedList 链表; boolean 是否按下等号=false;public ComputerPad()(伪码算法)public void actionPerformed(ActionEvent e) (伪码算法)public static void main(String args)(伪码算法)4调试分析求三角函数cos90的时候有问题,后来设置了条件限制就可以了5用户使用说明可根据需要进行简单的运算:1)/:表示除号,进行两个数的相除运算。2:n:表示开根号,将一个数进行开根号运算。3)*:表示乘号,进行两个数的相乘运算。4)1/x:求一个数的倒数。5)-:表示减号,进行两个数的相减运算。6)+:表示加号,进行两个数的相加运算。7 退格:清除一个字符。8)清零:全部清零。9):实现幂运算6附录程序代码 import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;import java.lang.Math.*;import java.util.LinkedList;import java.text.NumberFormat;import org.eclipse.wb.swing.FocusTraversalOnArray; class ComputerPad extends Frame implements ActionListener NumberButton numberButton; OperationButton oprationButton; Button 小数点按钮,正负号按钮,退格按钮, 求倒数按钮,等号按钮,清零按钮, 正弦按钮,余弦按钮,正切按钮; Panel panel; JTextField resultShow; String 运算符号=+,-,*,/,n; LinkedList 链表; boolean 是否按下等号=false; public ComputerPad() super(计算器); 链表=new LinkedList(); numberButton=new NumberButton10; for(int i=0;i=9;i+) numberButtoni=new NumberButton(i); numberButtoni.addActionListener(this); oprationButton=new OperationButton6; for(int i=0;i=1) num=num.substring(0,num.length()-1); 链表.set(0,num); resultShow.setText(num); else 链表.removeLast(); resultShow.setText(0); else if(链表.size()=3) String num=(String)链表.getLast(); if(num.length()=1) num=num.substring(0,num.length()-1); 链表.set(2,num); resultShow.setText(num); else 链表.removeLast(); resultShow.setText(0); else if(e.getSource()=正负号按钮) if(链表.size()=1) String number1=(String)链表.getFirst(); try double d=Double.parseDouble(number1); d=-1*d; String str=String.valueOf(d); 链表.set(0,str); resultShow.setText(str); catch(Exception ee) else if(链表.size()=3) String number2=(String)链表.getLast(); try double d=Double.parseDouble(number2); d=-1*d; String str=String.valueOf(d); 链表.set(2,str); resultShow.setText(str); catch(Exception ee) else if(e.getSource()=求倒数按钮) if(链表.size()=1|链表.size()=2) String number1=(String)链表.getFirst(); try double d=Double.parseDouble(number1); d=1.0/d; String str=String.valueOf(d); 链表.set(0,str); resultShow.setText(str); catch(Exception ee) else if(链表.size()=3) String number2=(String)链表.getLast(); try double d=Double.parseDouble(number2); d=1.0/d; String str=String.valueOf(d); 链表.set(0,str); resultShow.setText(str); catch(Exception ee) else if(e.getSource()=正弦按钮) if(链表.size()=1|链表.size()=2) String number1=(String)链表.getFirst(); try if(Double.parseDouble(number1)/90%2=0) resultShow.setText(0); else double d=Double.parseDouble(number1)*Math.PI/180; d=Math.sin(d); String str=String.valueOf(d); 链表.set(0,str); resultShow.setText(str); catch(Exception ee) else if(链表.size()=3) String number2=(String)链表.getLast(); try double d=Double.parseDouble(number2)*Math.PI/180; d=Math.sin(d); String str=String.valueOf(d); 链表.set(0,str); resultShow.setText(str); catch(Exception ee) else if(e.getSource()=余弦按钮) if(链表.size()=1|链表.size()=2) String number1=(String)链表.getFirst(); try if(Double.parseDouble(number1)/90%2=1) resultShow.setText(0); else double d=Double.parseDouble(number1)*Math.PI/180; d=Math.cos(d); String str=String.valueOf(d); 链表.set(0,str); resultShow.setText(str); catch(Exception ee) else if(链表.size()=3) String number2=(String)链表.getLast(); try double d=Double.parseDouble(number2)*Math.PI/180; d=Math.cos(d); String str=String.valueOf(d); 链表.set(0,str); resultShow.setText(str); catch(Exception ee) else if(e.getSource()=正切按钮) if(链表.size()=1|链表.size()=2) String number1=(String)链表.getFirst(); try if(Double.parseDouble(number1)/90%2=1) resultShow.setText(无穷值); else if(Double.parseDouble(number1)/90%2=0) resultShow.setText(0); else double d=Double.parseDouble(number1)*Math.PI/180; d=Math.tan(d); String str=String.valueOf(d); 链表.set(0,str); resultShow.setText(str); catch(Exception ee) else if(链表.size()=3) String number2=(String)链表.getLast(); try double d=Double.parseDouble(number2)*Math.PI/180; d=Math.tan(d); String str=String.valueOf(d); 链表.set(0,str); resultShow.setText(str); catch(Exception ee) else if(e.getSource()=清零按钮) 是否按下等号=false; resultShow.setText(0); 链表.clear(); public static void main(String args) new ComputerPad(); 7测试结果 (1)实现加、减、乘、除的双目单类别的基础运算实现加法运算,比如输入8+9,结果如截图。17.0实现减法运算,比如输入12-9,结果如截图。3.0实现乘法运算,比如输入6*9,结果如截图54.0实现除法运算,比如输入20/4,结果如截图。5.0 (2)实现加、减、乘、除的多目多类别的混合运算。比如输入3*4+2,结果如截图。14.0比如输入20/5-2,结果如截图。2.0 (3)实现三角函数(sin., cos, tan)运算。比如sin30, cos60,tan45,结果如图 (4)实现幂运算(Xn),方根运算()。比如36,29,结果如图。 四、课程设计体会在此次的课程设计中,我学掉了教科书上没有的东西。这次课程设计,我按照课程设计的要求,分块实现程序的功能,在实践中遇到很多问题,通过百度,和同学讨论,跟老师交流,最后都克服了。顺利的完成了课程设计。从中我充分理解了Java的重要性,更深入的了解程序的编译和调试。通过这个学期学习Java的理论知识和课程设计的加深,对更好更好的掌握Java有很大的帮助。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!