数据结构实验四则运算-邹家运

数据结构实验四则运算-邹家运

ID:9039423

大小:224.50 KB

页数:9页

时间:2018-04-15

数据结构实验四则运算-邹家运_第1页
数据结构实验四则运算-邹家运_第2页
数据结构实验四则运算-邹家运_第3页
数据结构实验四则运算-邹家运_第4页
数据结构实验四则运算-邹家运_第5页
资源描述:

《数据结构实验四则运算-邹家运》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、中南林业科技大学涉外学院实验报告课题一课程名称数据结构年级系部2010级理工系专业班级计算机科学与技术1班学生姓名邹家运学号20107994任课教师余波2011年12月课题一:有理数的四则运算1.需求分析:a.设计一个可进行有理数运算的演示程序b.实现二个有理数的相加,相减,相乘,相除,以及求分子或求分母的运算,数据有用户自己定义。c.测试数据用由用户自己定义。2.概要设计:为了实现这个功能,本程序充分利用了拆分字符的函数,根据用户点击的按钮不同进行不同的拆分。3.详细设计:3.1所需要的开发环境:java语言,windows7,eclipse,jdk1.63

2、.2在java中提供了split函数用来分隔字符,这样看来就变得简单了。4.实验分析:这个实验中,把计算的类型分成二种情况,一种是计算非分数的,一种是计算分数的。计算非分数运算:首先获取文本输入框里的表达式,再根据里面包含的运算符号,把表达式分成二个部分,再根据运算符号计算结果。计算分数运算:首先获取文本输入框里的表达式,再根据里面包含的运算符号,把表达式分成二个部分,这里因为是分数,所以把这二个部分每个部分又要分别分成二个部分,这样我们就得到了这二个分数的分子,分母,再做相应的运算,化简结果。4.1*特别声明*:在做分子除法运算的时候,这个程序里面用“!”作

3、为其运算符,这样的话就利于分隔了,例如4/3!8/9;原因:因为进行分数除法运算时我们如果按“/”分隔表达式的话,这样不好处理,例如1/3/4/5,这样如果用”/”分隔就会出错。5.实现代码:importjava.awt.*;importjavax.swing.*;importjava.awt.Event;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;publicclassJiSuanQiextendsJFrameimplementsActionListener{//编

4、写界面JPaneljp1,jp2,jp3;JButtonjb1,jb2,jb3;JTextFieldjt;publicstaticvoidmain(String[]args){newJiSuanQi();}publicJiSuanQi(){jp1=newJPanel();jp2=newJPanel();jt=newJTextField(15);jb1=newJButton("计算非分数");jb1.addActionListener(this);jb2=newJButton("计算分数");jb2.addActionListener(this);jb3=new

5、JButton("取消");jb3.addActionListener(this);jp1.add(jt);jp2.add(jb1);jp2.add(jb2);jp2.add(jb3);this.setLayout(newGridLayout(2,1));this.add(jp1);this.add(jp2);this.pack();this.setLocation(500,200);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}@Overridepubli

6、cvoidactionPerformed(ActionEvente){Stringst=jt.getText();try{//处理非分数计算if(e.getSource()==jb1){if(st.contains("+")){//如果文本框中包含“+“Stringnums[]=st.split("\+",2);//以“+“分隔成二个部分Floatnum1=Float.parseFloat(nums[0]);Floatnum2=Float.parseFloat(nums[1]);jt.setText((num1+num2)+"");}if(st.contai

7、ns("-")){Stringnums[]=st.split("\-",2);Floatnum1=Float.parseFloat(nums[0]);Floatnum2=Float.parseFloat(nums[1]);jt.setText((num1-num2)+"");}if(st.contains("*")){Stringnums[]=st.split("\*",2);Floatnum1=Float.parseFloat(nums[0]);Floatnum2=Float.parseFloat(nums[1]);jt.setText((num1*nu

8、m2)+"");}if(st.cont

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。