[英]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.