(java)对一个分数进行约分(分子分母同时除以最大公约数) 。;
【java分数约分代码 java 分数】
实现辗转相除法()的代码可以很简洁(如下) 。
应当一提的是,下面的 最大公约数( ) 函数的实现若改成以下这一句会更简洁更高效:
return b == 0 ? a : 最大公约数( b, a % b );
还有,java 标准库里的 BigInteger 类有提供求最大公约数的方法 。
import java.math.*;
class C {
static int 最大公约数( int a, int b ) {
return a % b == 0 ? b : 最大公约数( b, a % b );
}
public static void main( String[ ] args ) {
int 分子 = 123456,
分母 = 7890;
System.out.println( "分数:"分子"/"分母 );
System.out.print( "约分后的结果是 " );
int gcd = 最大公约数( 分子, 分母 );
System.out.println( 分子 / gcd"/"分母 / gcd );
////////////////////////////////////////////////////////////////////////
System.out.print( "利用 BigInteger 的 gcd( ) 求出的结果也是 " );
BigInteger fz = BigInteger.valueOf( 分子 ),
fm = BigInteger.valueOf( 分母 ),
BIgcd = fz.gcd( fm );
System.out.println( fz.divide( BIgcd )"/"fm.divide( BIgcd ) );
}
}
关于JAVA的一道程序题,大概是约分根据题意可得如下代码:
public class Fraction {
private int numerator;
private int denominator;
public Fraction(int x, int y){
this.numerator = x;
this.denominator = y;
}
public Fraction(){
}
public String toString(){
return this.numerator "/" this.denominator;
}
public void Simple(){
int i = this.numerator;
if (ithis.denominator){
i = this.denominator;
}
for (; i = 1; --i){
if (this.numerator%i == 0this.denominator%i == 0)break;
}
this.numerator /= i;
this.denominator /= i;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Fraction f = new Fraction(48, 72);
f.Simple();
System.out.println(f.toString());
}
}
java化简分数这个首先你要求出 a , b 的最大公约数,然后约除公约数就是最简了 。
public static void main(String[] args) {
int a = 30, b = 25;//a 是分母
int gcd = gcd(a,b);
System.out.println( b/gcd"/"a/gcd); //输出了5/6
}
public static int gcd(int x, int y){ // 这个是运用辗转相除法求 两个数的 最大公约数看不懂可以百度//下
if(y == 0)
return x;
else
return gcd(y,x%y);
}
java如何将分数快速约分根据题意可得如下代码: public class Fraction { private int numerator; private int denominator; public Fraction(int x, int y){ this.numerator = x; this.denominator = y; } public Fraction(){ } public String toString(){ return this.numerator "/" this.denominator; } public void Simple(){ int i = this.numerator; if (ithis.denominator){ i = this.denominator; } for (; i = 1; --i){ if (this.numerator%i == 0this.denominator%i == 0)break; } this.numerator /= i; this.denominator /= i; } public static void main(String[] args) { // TODO Auto-generated method stub Fraction f = new Fraction(48, 72); f.Simple(); System.out.println(f.toString()); }}
谁能帮帮我,JAVA如何约分结果要先写一个gcd的方法,greatest common divisor , 即最大公约数 。你拿到了最大公约数,拿需要约分的两个数除以最大公约数就行 。
public int GCD(int a, int b) {
if (b==0) return a;
return GCD(b,a%b);
}
java分数约分代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java 分数、java分数约分代码的信息别忘了在本站进行查找喔 。
推荐阅读
- x5550相当于什么cpu,x5550cpu相当于i几
- 网络游戏今天开服,网络游戏今天开服了吗
- go语言方法定义 go语言 方法
- 拼贴复古公众号怎么做视频,如何制作复古拼贴壁纸
- 包含postgre关联前一条记录的词条
- 快手直播如何接收语音通话,快手直播怎么设置语音收听
- vb.net当前目录 vbnet打开指定目录下的文件
- flutter中widget的生命周期,flutter changenotifierprovider
- macos能开发.net吗,mac开发netcore