表示數值的字串(java版)

2021-08-02 06:03:27 字數 1197 閱讀 2365

【題目描述】請實現乙個函式用來判斷字串是否表示數值(包括整數和小數)。例如,字串」+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是乙個無符號整數。

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;

}}

a. 之所以使用||,而沒有使用&&的原因。小數可以沒有整數部分,如.123等於0.123;小數點後面可以沒有數字,如233.等於233.0;當然,小數點前後都可以有數字,如1.123;

【解題思路2】

//1. 使用正規表示式匹配

//2. 雖然這可能並不是該題的本意,但本著「英雄不問出處,好漢亦可流氓」的原則,仍在此給出實現。

public

class solution

}

【解題思路3】

//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...