fraction在java_Fraction.java

这是一个Java程序,定义了一个名为Fraction的类,用于处理分数。类包含分子和分母的私有变量,以及相应的getter和setter方法。此外,还提供了创建随机分数、计算最大公约数(GCD)、转换字符串到Fraction对象以及简化分数的方法。
摘要由CSDN通过智能技术生成

package t1;

public class Fraction

{

private int numerator;// 分子

private int denominator;// 分母

private String fraction;// 分数

public Fraction()

{

super();

}

public Fraction(int numerator, int denominator)

{

this.numerator = numerator;

this.denominator = denominator;

// makeItProper();

}

public int getNumerator()

{

return numerator;

}

public void setNumerator(int numerator)

{

this.numerator = numerator;

}

public int getDenominator()

{

return denominator;

}

public void setDenominator(int denominator)

{

this.denominator = denominator;

}

public String getFraction()

{

return fraction;

}

public void setFraction(String fraction)

{

this.fraction = fraction;

}

public String creatfraction()

{

numerator = (int) (Math.random() * 10 + 2);// [0~1)之间的随机数

denominator = (int) (Math.random() * 10 + 2);

int i = numerator;

int j = denominator;

j = GCD(i, j);

numerator = numerator / j;

denominator = denominator / j;

fraction = Reduction(numerator, denominator);

return fraction;

}

public static int GCD(int m, int n)

{ // 求最大公约数

try

{

while (m % n != 0)

{

int t = m % n;

m = n;

n = t;

}

} catch (Exception e)

{

System.out.println(e);

}

return n;

}

public static Fraction transferToFraction(String s)

{

Fraction f = new Fraction();

String[] num = s.split("/");

if (num.length == 1)

{

f.setNumerator(Integer.parseInt(s));

f.setDenominator(1);

f.setFraction(s);

} else

{

f.setNumerator(Integer.parseInt(num[0]));

f.setDenominator(Integer.parseInt(num[1]));

f.setFraction(s);

}

return f;

}

public static String Reduction(int m, int n)

{

String t;

if (n == 1)

{

t = m + "";

} else

{

t = m + "" + "/" + n + "";

}

return t;

}

}

一键复制

编辑

Web IDE

原始数据

按行查看

历史

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值