我有以下代码:
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)
。我不知道为什么。
答案 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.num
和this.den
来获取构造函数的设置对象。