1

簡単な電卓を開発しましたが、問題があります。計算用の値を入力すると、最初の桁のみが解析されます。たとえば、5 + 3と入力すると、結果は5になります。この問題を解決するにはどうすればよいですか?答えてくれてありがとう。

私のコード:

String[] val = mInputVal.getText().toString().split("\\+");
    try{
        inputNum1 =  Double.parseDouble(val[0]);
        inputNum2 =  Double.parseDouble(strVal);
    }catch (NumberFormatException e){}
4

3 に答える 3

2

2番目のインデックスについては、これを行うだけです:inputNum2 = Double.parseDouble(val[1]);または、strVal = val[1]であることを確認してください。そして、文字列が適切に分割されていることを確認してください。何が起こっているかというと、 val には文字列が 1 つしかないため、 val[1] がArrayIndexOutOfBoundException. それが役立つことを願っています。

于 2013-02-25T14:49:47.857 に答える
2

inputNum2 = Double.parseDouble(val[1]);?

于 2013-02-25T14:48:21.023 に答える
0

問題は、パーサーが最初の非数値、つまり「3」になるまで文字列を解析することです。だからあなたは電話するべきです

inputNum2 =  Double.parseDouble(val[1].trim());
于 2013-02-25T14:53:02.717 に答える