翁凯_面向对象程序设计_设计一个表示分数的类Fraction
2017-03-06 16:19
489 查看
/** * Created by yueyue on 2/20/17. */ import java.util.Scanner; public class test_1_1 { public static void main(String[] args) { Scanner in = new Scanner(System.in); Fraction a = new Fraction(in.nextInt(), in.nextInt()); Fraction b = new Fraction(in.nextInt(),in.nextInt()); a.print(); b.print(); a.plus(b).print(); a.multiply(b).plus(new Fraction(5,6)).print(); a.print(); b.print(); in.close(); } } class Fraction { int numerator; int denominator; Fraction(int numerator,int denominator) { this.numerator = numerator; this.denominator = denominator; } double todouble(Fraction x) { double res = (double)x.numerator / (double)x.denominator; return res; } Fraction plus(Fraction r) { int product = this.denominator * r.denominator; int new_numerator = this.numerator * r.denominator + this.denominator * r.numerator; int new_denominator = product; Fraction x = new Fraction(new_numerator,new_denominator); return x; } Fraction multiply(Fraction r) { int new_numerator = this.numerator * r.numerator; int new_denominator = this.denominator * r.denominator; Fraction x = new Fraction(new_numerator,new_denominator); return x; } void print() { if(numerator == 1) { if(denominator == 1) System.out.println("1"); else System.out.println("1" + "/" + denominator); } else { int k = 1; int gcd = 1; while (k <= numerator) { if((numerator % k == 0) && (denominator % k == 0)) { gcd = k; } k++; } if((numerator / gcd == 1) && (denominator / gcd == 1)) { System.out.println("1"); } else System.out.println((numerator / gcd) + "/" + (denominator / gcd)); } } }
相关文章推荐
- C++第5周任务【任务2】本任务将设计一个简单的分数类,完成对分数的几个运算。一则巩固基于对象编程的方法,二则也为第10章做运算符重载等积累些感性认识。
- 第二章 实例研究:设计一个文档编辑器--《设计模式-可复用面向对象软件的基础》Erich Gamma
- [.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图
- 面向对象分析和设计(OOA/D) --- 一个例子
- 面向对象OO 设计、架构终极理解, 以及如何学习一个领域
- 程序设计-----------活与死、回调以及面向对象设计
- [.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图
- [.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计UML用例图
- 翁凯_面向对象程序设计-第三周
- 面向对象程序设计-设计模式的一些简单概念
- 面向对象来做一个迷宫游戏(努深刻学习面向对象技术以及面向对象的设计模式)
- 面向对象把握一个重要的设计经验
- 面向对象程序设计进阶——设计模式 design patterns
- 设计一个摄影师的类 该类中只有一个方法 该方法有2个参数,第一个参数表示拍照的工具,第2个参数表示拍摄的对象。
- 面向对象的程序设计-13-对象指针作为另外一个类的成员
- 设计模式李建忠(面向对象程序设计部分)
- 设计模式李建忠(面向对象程序设计部分)
- 设计一个算法,把一个真分数表示为埃及分数之和的形式。所谓埃及分数是指分子为1的分数。如7、8=1/2+1/3+1/24。
- 程序设计基础——面向对象程序设计思想
- 面向对象程序设计(OOP设计模式)-行为型模式之观察者模式的应用与实现