资源预览内容
第1页 / 共17页
第2页 / 共17页
第3页 / 共17页
第4页 / 共17页
第5页 / 共17页
第6页 / 共17页
第7页 / 共17页
第8页 / 共17页
第9页 / 共17页
第10页 / 共17页
亲,该文档总共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;i6;i+) oprationButtoni=new OperationButton(运算符号i); oprationButtoni.addActionListener(this); 小数点按钮=new Button(.); 正负号按钮 =new Button(+/-); 等号按钮=new Button(=); 求倒数按钮=new Button(1/x); 退格按钮=new Button(退格); 清零按钮=new Button(C); 正弦按钮=new Button(sin); 余弦按钮=new Button(cos); 正切按钮=new Button(tan); 清零按钮.setForeground(Color.red); 退格按钮.setForeground(Color.red); 等号按钮.setForeground(Color.red); 求倒数按钮.setForeground(Color.red); 正负号按钮.setForeground(Color.blue); 小数点按钮.setForeground(Color.blue); 正弦按钮.setForeground(Color.blue); 余弦按钮.setForeground(Color.blue); 正切按钮.setForeground(Color.blue); 退格按钮.addActionListener(this); 清零按钮.addActionListener(this); 等号按钮.addActionListener(this); 小数点按钮.addActionListener(this); 正负号按钮.addActionListener(this); 求倒数按钮.addActionListener(this); 正弦按钮.addActionListener(this); 余弦按钮.addActionListener(this); 正切按钮.addActionListener(this); resultShow=new JTextField(10); resultShow.setHorizontalAlignment(JTextField.RIGHT); resultShow.setForeground(Color.blue); resultShow.setFont(new Font(TimesRoman,Font.PLAIN,14); resultShow.setBorder(new SoftBevelBorder(BevelBorder.LOWERED); resultShow.setBackground(Color.white); resultShow.setEditable(false); panel=new Panel(); panel.setLayout(new GridLayout(5,5); panel.add(numberButton1); panel.add(numberButton2); panel.add(numberButton3); panel.add(oprationButton0); panel.add(清零按钮); panel.add(numberButton4); panel.add(numberButton5); panel.add(numberButton6); panel.add(oprationButton1); panel.add(退格按钮); panel.add(numberButton7); panel.add(numberButton8); panel.add(numberButton9); panel.add(oprationButton2); panel.add(求倒数按钮); panel.add(numberButton0); panel.add(正负号按钮); panel.add(小数点按钮); panel.add(oprationButton3); panel.add(oprationButton4); panel.add(正弦按钮); panel.add(余弦按钮); panel.add(正切按钮); panel.add(oprationButton5); panel.add(等号按钮); add(p
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号