ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:84.87KB ,
资源ID:9172189      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9172189.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(JAVA课程设计完整版.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

JAVA课程设计完整版.docx

1、JAVA课程设计完整版小型计算器系统1.课程设计目的JAVA程序设计是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专业学生学习完JAVA程序设计课程后,进行的一次全面的综合训练,JAVA程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。2.课程设计要求按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解

2、决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JAVA程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。3.课程设计内容3.1概要设计3.3.1自定义类说明本程序一共包括:构造方法A5i13w(),setup(), windowClosing(), actionPerformed(), appendchar(),

3、countall(), counting(), Iscountnum()和一个windowcloser类。(1) A5i13w()是构造方法,在程序创建其对象时就调用,初始化次程序的事件的监听机制。(2) setup()是我定义的方法,是用来初始化程序的图形应用界面,由A5i13w()来调用。(3) windowClosing()是用来响应用户的关闭功能。(4) actionPerformed()是用来处理每个事件的响应的方法(5) appendchar()方法的作用是在用户产生事件后向Textshow追加产生此事件的字符串(6) countall()的意义是在用户按“=”号后,从最里层括号向

4、最外层逐层把括号里的内容传递给counting()方法,并负责对括号本身是否符合数学语法要求进行检验。(7) counting()方法的作用是首先对无括号的数学表达式有关的数学计算符号进行调整,并检验所有的数学符号,如发现错误的数学符号立即在Labelnow中显示出来。(8)Iscountnum()方法的作用是把“+ - % . ( )”算术符号转化相应的数字,便于程序的流程控制。图2.1首先分析这个说要完成的功能,它的主要任务是完成十六进制、十进制、八进制和二进制之间的相互转化,需要包含负数,但不用考虑小数。 其次,确定接口参数。根据功能可知,它传递给外部的就是一个转后的数据,而外部除了需要

5、传递给转化前的数据以外,是否还需要其他参数呢?我们都知道,十进制的负数同样可以利用其他进制进行表示,例如二进制,转化方法是:求十进制数的绝对值对应的二进制数,最高位为1;然后对二进制逐位求反,最高位除外;接着最低一位加1,需要进位的话依次进位,最高位除外。如今的问题就摆在了我们面前,我们如何知道这个数的最高位是第几位呢,也许有人会说,那就用转化后的前面再加上一位,好,即使这样可以成立,那么-1转化后就是11,3转化后也为11,现在如果需要现在的把这个数二进制数再转化为十进制,那么我们如何知道原来的是正数还是负数呢,如果要转化为十六进制,八进制又当如何呢?经过以上的分析发现,还应该有另外一个参数

6、二进制时的宽度,只有这样才能知道谁是最高位,因此就称这个参数为位宽。 最后,设计类。根据第二步的分析,因为位宽对每一个方法都是一样,所以可能把它作为类的成员变量,而另外两个参数转化前的值和转化后的值就分别作为输入参数和返回值。而类对外的接口只有各个转化的方法,因此这几个方法设计为public权限,而其它所有的辅助方法都为private权限。位宽通过构造函数传递,外部不能直接访问和修改,设置也设置为private权限。为了减少计算量,所有的转化都以二进制为中介。例如十六进制到十进制,是十六进制二进制十进制。3.2详细设计(程序部分源代码及注释)import java.awt.*; import

7、java.awt.event.*; import javax.swing.*;public class MyCalculator implements ActionListener JFrame f; JMenu mEdit; JMenu mView; JMenu mHelp; JMenuItem mCopy; JMenuItem mPaste; JTextField tResult;JButton bNumber; JButton bOperator; JButton bOther; JButton bM;boolean isDouble=false;/是否为实数 int opFlag=-1

8、; static double t1=0,t2=0,t3=0,result=0; static int opflag1=-1,opflag2=-1,flag=0,resflag=1; int preOp,currentOp=0;/标准位 double op1=0,op2=0;/操作数 double n3; StringBuffer buf=new StringBuffer(20); StringBuffer copyBoard=new StringBuffer(20);/剪贴板 StringBuffer memory = new StringBuffer(20);/M系列 StringBuff

9、er str = new StringBuffer(); public MyCalculator() f = new JFrame(计算器ByYX); Container contentPane = f.getContentPane(); /*菜单的创建开始*/ JMenuBar mBar = new JMenuBar(); mBar.setOpaque(true);mEdit = new JMenu(编辑(E); mEdit.setMnemonic(KeyEvent.VK_E); mCopy = new JMenuItem(复制(C); mEdit.add(mCopy); mPaste =

10、new JMenuItem(粘贴(P); mEdit.add(mPaste);mView = new JMenu(查看(V); mView.setMnemonic(KeyEvent.VK_V); mView.add(new JMenuItem(标准型); mView.add(new JMenuItem(科学型); mView.addSeparator(); mView.add(new JMenuItem(查看分组);mHelp = new JMenu(帮助(H); mHelp.setMnemonic(KeyEvent.VK_H); mHelp.add(new JMenuItem(帮助主题);

11、mHelp.addSeparator(); mHelp.add(new JMenuItem(关于计算器);mBar.add(mEdit); mBar.add(mView); mBar.add(mHelp); f.setJMenuBar(mBar); contentPane.setLayout(new BorderLayout(); JPanel pTop = new JPanel(); tResult = new JTextField(0.,26); tResult.setHorizontalAlignment(JTextField.RIGHT ); tResult.setEditable(f

12、alse); pTop.add(tResult); contentPane.add(pTop,BorderLayout.NORTH); JPanel pBottom = new JPanel(); pBottom.setLayout(new BorderLayout(); JPanel pLeft = new JPanel(); pLeft.setLayout(new GridLayout(5,1,3,3); bM = new JButton( );bM.setEnabled(false); pLeft.add(bM); bOther = new JButton(MC); bOther.add

13、ActionListener(this); bOther.setForeground(Color.RED); bOther.setMargin(new Insets(3,2,3,2); pLeft.add(bOther); bOther = new JButton(MR); bOther.addActionListener(this); bOther.setForeground(Color.RED); bOther.setMargin(new Insets(3,2,3,2); pLeft.add(bOther); bOther = new JButton(MS); bOther.addActi

14、onListener(this); bOther.setForeground(Color.RED); bOther.setMargin(new Insets(3,2,3,2); pLeft.add(bOther); bOther = new JButton(M+); bOther.addActionListener(this); bOther.setForeground(Color.RED); bOther.setMargin(new Insets(3,2,3,2); pLeft.add(bOther); pBottom.add(pLeft,BorderLayout.WEST); JPanel

15、 pRight = new JPanel(); pRight.setLayout(new BorderLayout(); JPanel pUp = new JPanel(); pUp.setLayout(new GridLayout(1,3,3,0); bOther = new JButton(Backspace); bOther.addActionListener(this); bOther.setForeground(Color.RED); bOther.setMargin(new Insets(3,0,3,5); pUp.add(bOther); bOther = new JButton

16、(CE); bOther.addActionListener(this); bOther.setForeground(Color.RED); pUp.add(bOther); bOther = new JButton(C); bOther.addActionListener(this); bOther.setForeground(Color.RED); pUp.add(bOther); JPanel pDown = new JPanel(); pDown.setLayout(new GridLayout(4,5,3,2); bNumber = new JButton(7); bNumber.s

17、etForeground(Color.blue); bNumber.addActionListener(this); bNumber.setMargin(new Insets(3,3,3,3); pDown.add(bNumber); bNumber = new JButton(8); bNumber.setForeground(Color.blue); bNumber.addActionListener(this); bNumber.setMargin(new Insets(3,3,3,3); pDown.add(bNumber); bNumber = new JButton(9); bNu

18、mber.setForeground(Color.blue); bNumber.addActionListener(this); bNumber.setMargin(new Insets(3,3,3,3); pDown.add(bNumber); bOperator = new JButton(/); bOperator.setForeground(Color.RED); bOperator.addActionListener(this);bOperator.setMargin(new Insets(3,0,3,0); pDown.add(bOperator); bOperator = new

19、 JButton(sqrt); bOperator.addActionListener(this); bOperator.setForeground(Color.blue); bOperator.setMargin(new Insets(3,0,3,0); pDown.add(bOperator); bNumber = new JButton(4); bNumber.setForeground(Color.blue); bNumber.addActionListener(this); bNumber.setMargin(new Insets(3,3,3,3); bNumber.setHoriz

20、ontalTextPosition(JButton.LEFT); pDown.add(bNumber); bNumber = new JButton(5); bNumber.setForeground(Color.blue); bNumber.addActionListener(this); bNumber.setMargin(new Insets(3,3,3,3); pDown.add(bNumber); bNumber = new JButton(6); bNumber.setForeground(Color.blue); bNumber.addActionListener(this);

21、bNumber.setMargin(new Insets(3,3,3,3); pDown.add(bNumber); bOperator = new JButton(*); bOperator.setForeground(Color.RED); bOperator.addActionListener(this); bOperator.setMargin(new Insets(3,3,3,3); pDown.add(bOperator); bOperator = new JButton(%); bOperator.setForeground(Color.blue); bOperator.addA

22、ctionListener(this); bOperator.setMargin(new Insets(3,3,3,3); pDown.add(bOperator); bNumber = new JButton(1); bNumber.setForeground(Color.blue); bNumber.addActionListener(this); bNumber.setMargin(new Insets(3,3,3,3); pDown.add(bNumber); bNumber = new JButton(2); bNumber.setForeground(Color.blue); bN

23、umber.addActionListener(this); bNumber.setMargin(new Insets(3,3,3,3); pDown.add(bNumber); bNumber = new JButton(3); bNumber.setForeground(Color.blue); bNumber.addActionListener(this); bNumber.setMargin(new Insets(3,3,3,3); pDown.add(bNumber); bOperator = new JButton(-); bOperator.setForeground(Color

24、.RED); bOperator.addActionListener(this); bOperator.setMargin(new Insets(3,3,3,3); pDown.add(bOperator); bOperator = new JButton(1/x); bOperator.setForeground(Color.blue); bOperator.addActionListener(this); pDown.add(bOperator); bNumber = new JButton(0); bNumber.setForeground(Color.blue); bNumber.ad

25、dActionListener(this); bNumber.setMargin(new Insets(3,3,3,3); pDown.add(bNumber); bOperator = new JButton(+/-); bOperator.setForeground(Color.blue); bOperator.addActionListener(this); bOperator.setMargin(new Insets(3,3,3,3); pDown.add(bOperator); bOperator = new JButton(.); bOperator.setForeground(C

26、olor.blue); bOperator.addActionListener(this); bOperator.setMargin(new Insets(3,3,3,3); pDown.add(bOperator); bOperator = new JButton(+); bOperator.setForeground(Color.RED); bOperator.addActionListener(this); bOperator.setMargin(new Insets(3,3,3,3); pDown.add(bOperator); bOperator = new JButton(=);

27、bOperator.setForeground(Color.blue); bOperator.addActionListener(this); bOperator.setMargin(new Insets(3,3,3,3); pDown.add(bOperator); pRight.add(pUp,BorderLayout.NORTH); pRight.add(pDown,BorderLayout.SOUTH); pBottom.add(pRight,BorderLayout.EAST); contentPane.add(pBottom,BorderLayout.SOUTH);f.setSiz

28、e(new Dimension(320,256);f.setResizable(false); f.setVisible(true); f.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); public void actionPerformed(ActionEvent e) String s=e.getActionCommand(); if(s.equals(复制(C) String temp=tResult.getText().trim(); co

29、pyBoard.replace(0,copyBoard.length(),temp); mPaste.setEnabled(true); else if(s.equals(粘贴(P) tResult.setText(copyBoard.toString(); else if(s.equals(CE) /如果是CE则清除文本框 tResult.setText(0.); else if(s.equals(Backspace) /如果是backspace则删除一个字符。 if(!tResult.getText().trim().equals(0.) /如果文本框中有内容 if(str.length(

30、)!=1&str.length()!=0) tResult.setText(str.delete(str.length()-1,str.length().toString(); else tResult.setText(0.); str.setLength(0); op2=Double.parseDouble(tResult.getText().trim(); else if(s.equals(C) /如果是C删除当前计算。 tResult.setText(0.); op1=op2=0; str.replace(0,str.length(), ); preOp=currentOp=0; else if(s.equals(MC) /如果是MC则清除缓冲区 String temp=; memory.replace(0,memory.length(),temp); bM.setText( ); else if(s.equals(MR)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1