如何设置最大字段输入

时间:2014-11-20 14:16:53

标签: java max

我创建了一个构造函数,用户将评级输入到类中。但是我想将最大额定值设置为10,因为规范要求可以设置的最高等级为10.

这是构造函数:

      public Card(String nam, int rat, int cred)
      {
        name = nam;
         rating = rat;
          credits = cred;
      }

因此,当我创建一张新卡时,如果用户输入的数字大于10,则应警告他们10是他们可以设置的最高数字。

3 个答案:

答案 0 :(得分:2)

如果rat不在所需的范围内,则在构造函数中抛出异常。

public Card(String nam, int rat, int cred)
{
    if (rat < 0 || rat > 10)
    {
        throw IllegalArgumentException("Rating has to be within valid bounds of 0 through 10");
    }
    name = nam;
    rating = rat;
    credits = cred;
}

答案 1 :(得分:1)

您可以在构造函数中拥有所需的任何代码逻辑。所以只需将它添加到构造函数中。

示例:

  public Card(String nam, int rat, int cred)
  {
    name = nam;
    if (rating <= 10)
          rating = rat;
    else
          rating = 10;
      credits = cred;
  }

如果你想重新引用,你可以抛出异常,或者在构造函数本身中重新引用(更难以确保你有适当的输入)。只要您正确处理异常,如果您想要重新提示,它可能是最好的选择。

答案 2 :(得分:0)

很简单,在继续使用代码逻辑之前验证所有输入,如下所示:

public Card(String nam, int rat, int cred) {
    if (rat > 10) {
        throw new IllegalArgumentException("Maximum rating allowed is 10. You've entered " + rat);
    }

    //Other logic here, like
    rating = rat;
}

我为此目的使用IllegalArgumentException