刚开始学java遇到难题............已下是问题。。。。

来源:百度知道 编辑:UC知道 时间:2024/05/21 10:55:25
补充以下代码,完成对一个分数类Fraction的定义,并测试这个类
public class Fraction{
private int nume; //分子
private int deno; //分母

//无参构造方法
public Fraction( ){
//初始化实例变量
}

//有参构造方法
public Fraction( int n, int d ){
//初始化实例变量
}

//化简分数方法
void FracSimp( )
{
//求分数的分子和分母的最大公约数
//化简分数
}
/*欧几里德算法 定理:gcd(a,b) = gcd(b,a mod b)
void swap(int & a, int & b)
{
int c = a;
a = b;
b = c;
}
int gcd(int a,int b)
{
if(0 == a )
{
return b;
}
if( 0 == b)
{
return a;
}
if(a > b)
{
swap(a,b);
}
int c;
for(c = a % b ; c > 0 ; c = a % b)
{
a = b;
b = c;
}
return b;

足足写了20分钟,给我加点分!!!
(在JDK6环境中调试通过并运行成功)

class Fraction
{
??private int nume=1; //分子
??private int deno=1; //分母

????//无参构造方法
??public Fraction()
??{

??}

????//有参构造方法
??public Fraction( int n, int d )
??{
????//初始化实例变量
????nume=n;
????deno=d;
??}

????//化简分数方法
??void FracSimp()
??{
??????//求分数的分子和分母的最大公约数
??????//化简分数
????
????int temp=gcd(nume,deno);
????nume=nume/temp;
????deno=deno/temp;
??}
??static int gcd(int d, int n)
??{
????if (n==0) return d;
????else return gcd(n,d%n);
??}??
??????//分数输出方法
??void FracOutput()
??{
??????//输出分数的分子和分母
????System.out.println("its nume is: "+nume);
????System.out.println("its deno is: "+deno);
??}
??public static void main(String [] args)
??{
??????//定义第1个Fraction类的对象引用f1,调用无参