【題目描述】請實現乙個函式用來判斷字串是否表示數值(包括整數和小數)。例如,字串」+100」,」5e2」,」-123」,」3.1416」和」-1e-16」都表示數值。 但是」12e」,」1a3.14」,」1.2.3」,」+-5」和」12e+4.3」都不是。
【解題思路】
//1. 合法的數值可以表示為a[.[b]][e|ec]或者.b[e|ec].
//2. 其中a為整數部分,b為小數部分,c為e|e的指數部分。在純小數的時候,可能沒有整數部分,如小數.123等於0.123,是合法的。所以a部分不是必須的。
//3. a和c都是整數,可以帶符號,也可不帶。b是乙個無符號整數。
a. 之所以使用||,而沒有使用&&的原因。小數可以沒有整數部分,如.123等於0.123;小數點後面可以沒有數字,如233.等於233.0;當然,小數點前後都可以有數字,如1.123;public
class
solution
inx = 0;
boolean flag = scaninteger(str);
//判斷小數部分
if(inx//判斷指數部分
if(inxreturn flag&& inx>=str.length;
}//判斷是否是整數
public
boolean scaninteger(char str)
return scanuinteger(str);
}//判斷是否是無符號整數
public
boolean scanuinteger(char str)
return inx>inx1;
}}
【解題思路2】
//1. 使用正規表示式匹配
//2. 雖然這可能並不是該題的本意,但本著「英雄不問出處,好漢亦可流氓」的原則,仍在此給出實現。
【解題思路3】public
class solution
}
//1.利用系統自身的校驗機制。
//2.此方法為了解題而解題,不鼓勵使用
public
class solution catch (numberformatexception e)
return
true;
}}
字串 表示數值的字串
題目描述 實現乙個函式用來判斷字串是否表示數值 包括整數和小數以及使用科學計數法表示的數 分析 表示數值的字串的規則有 第乙個字元只能是 以及數字 數字字元後面只能接 或 e e 小數點後面必須要有字元且只能接數字字元或 e e e e 後面必須要接字元且只能接數字字元或者 後面必須要接數字字元 b...
表示數值的字串(字串)
題目描述 請實現乙個函式用來判斷字串是否表示數值 包括整數和小數 例如,字串 100 5e2 123 3.1416 和 1e 16 都表示數值。但是 12e 1a3.14 1.2.3 5 和 12e 4.3 都不是。思路 1.第乙個數為 或者為 時,跳過。2.對於小數點 小數點只能出現一次 小數點不...
字串 表示數值的字串
此題出自牛客網的劍指offer專題 請實現乙個函式用來判斷字串是否表示數值 包括整數和小數 例如,字串 100 5e2 123 3.1416 和 1e 16 都表示數值。但是 12e 1a3.14 1.2.3 5 和 12e 4.3 都不是。思路一 直接正規表示式擼起 實現 如下 public cl...