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。所以我假设我需要在公共(public)方法中使用上面的方法来检查它是否有效。如果它有效,我需要将 rating = 设置为 aRating。到目前为止我的想法是这样的:
public void setRating(int aRating)
{
if (isValid() == true)
rating = aRating;
}
但我不能将 isValid 用作 true 的 ==,因为它是一种方法。我也尝试使用 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();
}
最佳答案
public void setRating(int aRating)
{
if (isValidRating(aRating))
this.rating = aRating;
}
这可能不是您的作业所必需的,但在现实世界中,您可能还需要考虑在验证失败时抛出 IllegalArgumentException。
示例:
public void setRating(int aRating)
{
if (isValidRating(aRating))
this.rating = aRating;
else
throw new IllegalArgumentException("Invalid rating.");
}
关于java - 如何在公共(public)方法中使用私有(private)方法来检查有效性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7962161/