Java程序设计【4】---分数运算
来源:互联网 发布:智慧树网络选修课 编辑:程序博客网 时间:2024/04/29 05:25
/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: 分数运算
* 作 者: 王琳
* 完成日期: 2013 年 2 月 16 日
* 版 本 号: 2013.02.01
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
编程思路:分数相加,两个分数分别是1/5和7/20,它们相加后得11/20。方法是先求出两个分数分母的最小公倍数,通分后,再求两个分子的和,最后约简结果分数的分子和分母(如果两个分数相加的结果是4/8,则必须将其化简成最简分数的形式1/2),即用分子分母的最大公约数分别除分子和分母。请用四个对话框顺序输入分子和分母,在控制台上输出其运算结果。
* 程序头部的注释结束
*/
源代码:
package wang;import javax.swing.JOptionPane;public class FractionalNumber //FractionalNumber 分数{/* * 实现分数的加减乘除运算 */public static void main(String[] args){String str1 = JOptionPane.showInputDialog("请输入第一个数的分子:");int nume1 = Integer.parseInt(str1);String str2 = JOptionPane.showInputDialog("请输入第一个数的分母:");int deno1 = Integer.parseInt(str2);String str3 = JOptionPane.showInputDialog("请输入第二个数的分子:");int nume2 = Integer.parseInt(str3);String str4 = JOptionPane.showInputDialog("请输入第二个数的分母:");int deno2 = Integer.parseInt(str4);FractionNumber_Add(nume1,deno1,nume2,deno2);FractionNumber_Sub(nume1,deno1,nume2,deno2);FractionNumber_Mul(nume1,deno1,nume2,deno2);FractionNumber_Div(nume1,deno1,nume2,deno2);}//numerator = nume 分子 denominator=deno 分母public static void FractionNumber_Add(int nume1,int deno1,int nume2,int deno2) //加法 {System.out.print(nume1+"/"+deno1+"+"+nume2+"/"+deno2+"=");int i = lcm(deno1,deno2);int nume = nume1*(i/deno1)+nume2*(i/deno2);int deno = i;int m = gcd(nume,deno);nume = nume/m;deno = deno/m;System.out.println(nume+"/"+deno);}public static void FractionNumber_Sub(int nume1,int deno1,int nume2,int deno2) //减法{System.out.print(nume1+"/"+deno1+"-"+nume2+"/"+deno2+"=");int i = lcm(deno1,deno2);int nume = nume1*(i/deno1)-nume2*(i/deno2);int deno = i;int m = gcd(nume,deno);nume = nume/m;deno = deno/m;System.out.println(nume+"/"+deno);}public static void FractionNumber_Mul(int nume1,int deno1,int nume2,int deno2) //乘法{System.out.print(nume1+"/"+deno1+"*"+nume2+"/"+deno2+"=");int nume = nume1*nume2;int deno = deno1*deno2;int i = gcd(nume,deno);nume = nume/i;deno = deno/i;System.out.println(nume+"/"+deno);}public static void FractionNumber_Div(int nume1,int deno1,int nume2,int deno2) //除法{System.out.print(nume1+"/"+deno1+"*"+nume2+"/"+deno2+"=");int nume = nume1*deno2;int deno = deno1*nume2;int i = gcd(nume,deno);nume = nume/i;deno = deno/i;System.out.println(nume+"/"+deno);}static int gcd(int n,int m) //求最大公约数{int i;for(i=m;;i--){if(n%i==0 && m%i==0){break;}}return i;}static int lcm(int n,int m) //求最小公倍数{int i;for(i=m;;i++){if(i%n==0 && i%m==0){break;}}return i;}}
结果截图
- Java程序设计【4】---分数运算
- JAVA分数运算
- java 10.23 (分数的运算)
- JAVA 程序设计 3-1 分数相加
- 黑马程序员-------Java笔记--------分数基本运算
- 分数运算
- 分数运算
- 分数运算
- 分数运算
- 分数运算
- 分数运算
- C++程序设计----- 运算符的重载 【项目3-分数类中的运算符重载】
- 分数运算符重载(4)
- 《分数的加法运算编程——JAVA第三周》
- 分数的运算
- 分数的各种运算
- 分数的各种运算
- 分数的各种运算
- hudson 安全配置 用户名 密码
- Struts 2拦截器(Intercept)总结(一)
- 数组的输出时为什么要调用Arrays.toString方法
- Android屏蔽返回键和Home键
- 使用 HibernateTemplate 实现分页查询
- Java程序设计【4】---分数运算
- 64位win7注册MSFLXGRD.OCX
- 百万级访问量网站的技术准备工作
- 一个三线小镇的数字生活
- JSON格式的对象与new方式对象的区别
- android开发实战系列(09)-- 暂停和恢复Activity
- Rational Rose 2003 下载、破解及安装方法(图文)
- Struts 2+Spring 3+Hibernate 3.3 在MyEclipse 10环境下的整合配置
- 根据unicode编码过滤字符串中的字符