2017-04-26 43 views
-2

如果我有一個像「(10/0)+(29/0.0)+(10/0.1)」這樣的字符串,我想拋出一個除零異常。對於這種情況,我必須解析字符串並檢查分隔字符過去的所有數字。得到字符串後的字符串的具體數字

我該如何解決這個功能?

+0

而你的問題是? –

+0

Sry,忘記了=( – Patrik

回答

0

作爲起始的建議,你可以使用的ScriptEngine類,以它作爲評價一個JS表達式:

ScriptEngineManager manager = new ScriptEngineManager(); 
ScriptEngine engine = manager.getEngineByName("js"); 
Object result = engine.eval("(10/0) + (29/0.0) + (10/0.1)"); 

然後提高適當的異常。

0

這會拋出DivideByZero異常,否則會返回結果。

try 
{ 
    System.Data.DataTable dt = new System.Data.DataTable(); 
    var result = dt.Compute("(10/0) + (29/0.0) + (10/0.1)", ""); 
    //Work with further result here 
} 
catch(System.DivideByZeroException e) 
{ 
    //Your exception here  
}