如何将用户输入从一个类转到另一个类

时间:2015-01-26 23:57:59

标签: java input

我有以下代码:

    public static void main (String args[])
    {
       Scanner reader = new Scanner(System.in); 
       System.out.println("Enter a Numerator");
       int num =reader.nextInt();
       System.out.println("Enter a Denominator");
       int den =reader.nextInt();

       System.out.println("Enter a Numerator and a Denominator");
       Rational r = new Rational(num,den); 
       System.out.println(r.getRational() + " equals " +r.getDecimal());


    }
}

class Rational
{


    double getNum()
    {
        return num;
    }


    double getDen()
    {
        return den;
    }

    //getDecimal
    double getDecimal()
    {
        double r =  num/den; 
        return r;
    }


    String getRational()
    {
      return getNum()+"/"+getDen();
    }



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

代码的目的是让用户输入分子和分母。然后程序将分割并给出方程的答案。我需要帮助的是,我继续在代码行读取错误:Rational r = new Rational(num,den)。我不知道为什么。

1 个答案:

答案 0 :(得分:0)

您忘了在Rational - 类中设置构造函数。您尝试使用以下命令启动对象:

Rational r = new Rational(num,den); 

但只有标准的结构Rational()。要实现这一点,您可以调用此构造函数,您必须添加此构造函数:

private int num =0;
private int den =0;
public Rational(int unum, int uden){
  this.num = unum;
  this.den = uden;
}

Rational - 类中,您必须使用this.numthis.den来获取构造函数的设置对象。