private boolean isValid(int aRating)
{
return aRating >= 1 && aRating <= 10;
}
or
private boolean isValid(int aRating)
{
if (aRating >=1 && aRating <=100
return true;
else
return false
}
我现在需要编写一个方法setRating(aRating),将等级设置为aRating,如果它有效。所以我假设我需要在公共方法中使用上面的方法来检查它是否有效。如果有效,我需要将rating =设置为aRating。到目前为止我的想法一直是这样的:如何在公共方法中使用私有方法来检查有效性?
public void setRating(int aRating)
{
if (isValid() == true)
rating = aRating;
}
但我不能使用isValid作为==为真,因为它是一种方法。我也尝试使用isValid();为了仅尝试和使用该方法,但由于顶部的(int aRating)而不允许。如果我没有识别它,然后不会让我在所有使用aRating ...
现在,它是
public void setRating(int aRating)
{
if (isValid(aRating))
rating = aRating;
}
我需要做一个setRating()方法,它允许用户输入从键盘的东西,再次它必须是有效的,我不断收到错误,因为它说我不能重载SetRating(int aRating)两次,我明白。但是,如果我尝试将int部分取出,它是无效的,因为它需要一个参数。这是我所
public void setRating()
{
Scanner keyboard = new Scanner(System.in);
if (isValid(aRating))
rating = keyboard.nextInt();
}
一般来说,提供一个'setRating'方法是一个好主意,它可以从键盘上交互地读取。用户界面的设计应该发生在程序的另一部分,并且只使用'setRating(int)'方法。这样,您不必仅仅因为老师告诉您将提示改为“请输入:”就可以更改每堂课的代码。 –
我一定是学习错了,或者这本书真的很糟糕,因为它特别要求制定两套额定方法,一种是我在上面演示的Corey帮助我的。 setRating(aRating)很好,第二个setRating()需要“从键盘读取评分,坚持用户提供的评分有效” – Renuz
初学者的书和现实生活中的代码有很大的区别。对于初学者来说,使代码尽可能简短和可读性是很好的风格。没关系,因为代码不必住在容易丢失概览的大型系统中。但是,无论如何,你很可能会学到这一点。你现在的任务是从键盘读取并验证输入,这本身就是非常有价值的。 –