【发布时间】:2015-01-26 23:57:59
【问题描述】:
我有以下代码:
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)。我不知道为什么。
【问题讨论】:
-
错误说明了什么?
-
看起来您需要 Rational 类中的构造函数,该构造函数接收 num、den 并调用该类中的 set set 函数。
-
你必须在
Constructors, and access modifiers in JAVA阅读更多内容 -
错误表示类 Rational 中的构造函数 Rational 不能应用于给定类型。