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

上传人:平*** 文档编号:16159205 上传时间:2017-11-06 格式:DOC 页数:9 大小:225.57KB
返回 下载 相关 举报
数据结构实验四则运算-邹家运_第1页
第1页 / 共9页
数据结构实验四则运算-邹家运_第2页
第2页 / 共9页
数据结构实验四则运算-邹家运_第3页
第3页 / 共9页
数据结构实验四则运算-邹家运_第4页
第4页 / 共9页
数据结构实验四则运算-邹家运_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《数据结构实验四则运算-邹家运》由会员分享,可在线阅读,更多相关《数据结构实验四则运算-邹家运(9页珍藏版)》请在金锄头文库上搜索。

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

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

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

4、Panel jp1,jp2,jp3;JButton jb1,jb2,jb3;JTextField jt;public static void main(String args) new JiSuanQi();public JiSuanQi()jp1=new JPanel();jp2=new JPanel();jt=new JTextField(15);jb1=new JButton(计算非分数);jb1.addActionListener(this);jb2=new JButton(计算分数);jb2.addActionListener(this);jb3=new JButton(取消);jb

5、3.addActionListener(this);jp1.add(jt);jp2.add(jb1);jp2.add(jb2);jp2.add(jb3);this.setLayout(new GridLayout(2,1);this.add(jp1);this.add(jp2);this.pack();this.setLocation(500,200);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);Overridepublic void actionPerformed(ActionEvent

6、e) String st=jt.getText();try /处理非分数计算if(e.getSource()=jb1)if(st.contains(+)/如果文本框中包含“+ “String nums=st.split(+,2);/以“+“分隔成二个部分Float num1= Float.parseFloat(nums0);Float num2= Float.parseFloat(nums1);jt.setText(num1+num2)+);if(st.contains(-)String nums=st.split(-,2); Float num1= Float.parseFloat(nums

7、0);Float num2= Float.parseFloat(nums1);jt.setText(num1-num2)+);if(st.contains(*)String nums=st.split(*,2);Float num1= Float.parseFloat(nums0);Float num2= Float.parseFloat(nums1);jt.setText(num1*num2)+);if(st.contains(/)String nums=st.split(/,2);Float num1= Float.parseFloat(nums0);Float num2= Float.p

8、arseFloat(nums1);jt.setText(num1/num2)+); catch (Exception e2) JOptionPane.showMessageDialog(this, 您的输入有误! );try /处理分数计算if(e.getSource()=jb2)if(st.contains(+)String nums=st.split(+,2);/拆分分数,得到四个部分String fen1=nums0.split(/,2);String fen2=nums1.split(/,2);int fenz1=Integer.parseInt(fen10);/第一个分数的分子int

9、 fenm1=Integer.parseInt(fen11);/第一个分数的分母int fenz2=Integer.parseInt(fen20); /第二个分数的分子int fenm2=Integer.parseInt(fen21); /第二个分数的分子int r1=fenz1*fenm2+fenz2*fenm1;int x=r1;int r2=fenm2*fenm1;int y=r2;/化简结果int r=x%y;while(r!=0)x=y;y=r;r=x%y;jt.setText(r1/y+/+r2/y);if(st.contains(-)String nums=st.split(-,

10、2);String fen1=nums0.split(/,2);String fen2=nums1.split(/,2);int fenz1=Integer.parseInt(fen10);int fenm1=Integer.parseInt(fen11);int fenz2=Integer.parseInt(fen20);int fenm2=Integer.parseInt(fen21);int r1=fenz1*fenm2-fenz2*fenm1;int x=r1;int r2=fenm2*fenm1;int y=r2;int r=x%y;while(r!=0)x=y;y=r;r=x%y;

11、jt.setText(r1/y+/+r2/y);if(st.contains(*)String nums=st.split(*,2);String fen1=nums0.split(/,2);String fen2=nums1.split(/,2);int fenz1=Integer.parseInt(fen10);int fenm1=Integer.parseInt(fen11);int fenz2=Integer.parseInt(fen20);int fenm2=Integer.parseInt(fen21);int r1=fenz1*fenz2;int x=r1;int r2=fenm

12、2*fenm1;int y=r2;int r=x%y;while(r!=0)x=y;y=r;r=x%y;jt.setText(r1/y+/+r2/y);if(st.contains(!)String nums=st.split(!,2);String fen1=nums0.split(/,2);String fen2=nums1.split(/,2);int fenz1=Integer.parseInt(fen10);int fenm1=Integer.parseInt(fen11);int fenz2=Integer.parseInt(fen20);int fenm2=Integer.par

13、seInt(fen21);int r1=fenz1*fenm2;int x=r1;int r2=fenm1*fenz2;int y=r2;int r=x%y;while(r!=0)x=y;y=r;r=x%y;jt.setText(r1/y+/+r2/y); catch (Exception e2) / TODO: handle exceptionJOptionPane.showMessageDialog(this, 您的输入有误! );if(e.getSource()=jb3)System.exit(1);6.测试的结果计算非分数的结果 16.1 加法6.2 减法6.3 乘法6.4 除法计算分数的结果 26.5 加法6.6 减法6.7 乘法6.8 除法

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号