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 (i this.denominator){ i = this.denominator; } for (; i = 1; --i){ if (this.numerator%i == 0 this.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列出 分数约分后的分数

/**

* 输出分子分母约分后结果

* @param denominator 分母

* @param numerator 分子

*/

public void reducing(int denominator,int numerator){

//即求出最大公因数

int smaller = numeratordenominator?numerator:denominator;

int maxCommonFactor = 1;

for (int i = 1; i = smaller; i++) {

if(numerator%i==0 denominator%i==0){

maxCommonFactor = i;

}

}

System.out.println("result:"+denominator/maxCommonFactor+"/"+numerator/maxCommonFactor);

}


标题名称:java约分代码,分数约分代码
转载来源:http://scyanting.com/article/hoeppp.html