2016-11-19 12 views
0

私は自分の電卓を作ろうとしていますが、小数値を入力すると、分割方法を使用して文字列を分割する代わりに2つに分割します(例:2.3 + 4.7)それを2.3と4.7に分割すると、それは2と7に分割されます。 ドットや昏睡を使うと問題はありませんが、結果は常に同じです。文字列を分割すると文字が破棄されます

String[] input = Num.split("[+-/%*]"); 
    double num1 = Double.parseDouble(input[0]); 
    double num2 = Double.parseDouble(input[1]); 

私はこれを解決する手がかりはありません。

+0

私はあなたの正規表現が間違っていると思う、あなたは前にエスケープ文字を必要とします - RegExの範囲を示すために使用されます。 +/-と*(標準演算)で分割しようとしている場合は、代わりに '[+ \ - \/*]'を試してください –

答えて

1

これらの文字のいくつかは、具体的+-*、正規表現でエスケープする必要があります。

String[] input = iNum.split("[\\+\\-/%\\*]");

1

使用String[] input = iNum.split("[\\+\\-/%\\*]");

+0

追加できる計算機は不十分な計算機 –

+0

残念です –