我使用类可以接受的Rational数字的实现吗?

时间:2015-05-26 20:59:56

标签: java rational-numbers

我正在努力为java完成我的理性课程,并且我希望它完成的所有内容都没有完全相同。我知道我可以使用其他程序,但是我所看到的那些程序在你运行程序时输入的位置并没有。这是我到目前为止的代码

import java.util.Scanner;


public class Lab09ast
{
    private static int num, den;   // numerator and denominator of the rational number

    public static void main (String[] args)
    {
        enterData();
        Rational r = new Rational(num,den);
        r.displayData();
    }

    public static void enterData()
    {
        Scanner input = new Scanner(System.in);
        System.out.print("\nEnter the numerator ----> ");
        num = input.nextInt();
        System.out.print("\nEnter the denominator --> ");
        den = input.nextInt();
    }
}



class Rational
{

    public void displayData()
    {
        System.out.println();
        System.out.println(getNum() + "/" + getDen() + " equals " + getDecimal());
        System.out.println();
    }

    private void getGCF(int n1,int n2)
    {
        int rem = 0;
        do
        {
            rem = n1 % n2;
            if (rem == 0)
                gcf = n2;
            else
            {
                n1 = n2;
                n2 = rem;
            }
        }
        while (rem != 0);
    }
}

1 个答案:

答案 0 :(得分:1)

成员变量numden(分子和分母)属于班级Lab09ast。这些应该在班级Rational。您了解classes and objects的概念吗?

从类Rational创建的Rational对象具有分子和分母的成员变量,这是合乎逻辑的。

此外,这些成员变量不能是static。请参阅Understanding Class Members,了解static的含义以及不适合这些成员变量的原因。

方法getNum()getDen()应该返回numden成员变量的值,并且也应该在类Rational中。

对于分子和分母,类Rational也应该constructor takes two arguments。您已经在类main的{​​{1}}方法中调用了该构造函数,但它尚未在您的班级Lab09ast中。