作业描述:
http://www.icourse163.org/learn/ZJU-1001542001?tid=1002311011#/learn/ojhw?id=1002886192
答案:
import java.util.Scanner; public class Main { 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 fz; int fm; Fraction(int a,int b){ this.fz=a; this.fm=b; } double toDouble(){ return this.fz/this.fm; } Fraction plus(Fraction r){ return new Fraction(this.fz*r.fm+this.fm*r.fz,this.fm*r.fm); } Fraction multiply(Fraction r){ return new Fraction(this.fz*r.fz,this.fm*r.fm); } void print(){ int gy=gcd(fz,fm); if(gy==fm){ System.out.println(fz/fm); }else { System.out.println(fz/gy+"/"+fm/gy); } } //计算a和b的最大公约数 int gcd(int a,int b){ return b>0?gcd(b,a%b):a; } }
本文介绍了一个用Java实现的分数类,该类支持基本的分数加法和乘法运算,并能够进行分数的简化输出。通过使用最大公约数算法来确保分数始终处于最简形式。
548

被折叠的 条评论
为什么被折叠?



