簡體   English   中英

檢查字符串是否為0到99之間的數字

[英]Check that the string is a number between 0 and 99

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

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

我需要在構造函數中傳遞兩個字符串,但是構造函數需要檢查字符串是否為0到99之間的數字,如果不是,則將其設置為“ 00”。

要進行測試,請使用正則表達式:

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

這通過使用正則表達式來檢查字符串來起作用。 表達式的部分是:

  • [1-9]? 1到9范圍內的單個字符,由?可選
  • \\d任何數字

正則表達式本來可以是\\d\\d ,但是可以允許“ 00”。

僅供參考,在Java中, String.matches()僅在整個 String與模式匹配時才返回true,因此不需要^和$。 這與許多其他部分匹配返回true的語言不同。

您可以使用Integer.parseInt()將字符串轉換為int ,然后使用if語句檢查其是否大於-1小於100。

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";
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM