-1
public class raceCar{
    private String driver;
    private String car;

    public raceCar(String driver, String car){
        this.driver = driver;
        this.car = car;
    }
}

コンストラクターで 2 つの文字列を渡す必要がありますが、コンストラクターは文字列が 0 ~ 99 の数値であることを確認する必要があります。そうでない場合は、"00" に設定します。

4

3 に答える 3

3

テストするには、正規表現を使用します。

if (str.matches("[1-9]?\\d")) {
    // it's a number between 0 and 99
}

これは、正規表現を使用して文字列をチェックすることで機能します。式の部分は次のとおりです。

  • [1-9]?1 から 9 の範囲の 1 文字。?
  • \d任意の桁

正規表現は\d\dであった可能性がありますが、それは「00」を許可していました。

参考までに、Java では文字列全体String.matches()がパターンに一致する場合にのみ true を返すため、^ と $ は必要ありません。これは、部分一致に対して true を返す他の多くの言語とは異なります。

于 2013-10-22T00:00:50.870 に答える
2

int文字列をusingに変換してからInteger.parseInt()、if ステートメントを使用して、-1 より大きく 100 より小さいかどうかを確認できます。

于 2013-10-21T23:59:32.710 に答える
0
public class raceCar
{
    private String driver;
    private String car;

    public raceCar(String driver, String car)
    {
        if (Integer.parseInt(driver) < 100 && Integer.parseInt(driver) >= 0)
            this.driver = driver;
        else
            this.driver = "00";

        if (Integer.parseInt(car) < 100 && Integer.parseInt(car) >= 0)
            this.car = car;
        else
            this.car = "00";
    }
于 2013-10-22T00:14:02.570 に答える