私は電卓のアプリをやっていると私は1つの問題があります。私は負の数と減算を区別できません。このコードを使用して、すべての数値を区切ります。私は何を得る電卓の問題
ArrayList<Double> doubles;
String[] strings1 = string.split("\\*");
for (String string2 : strings1) {
String[] string3 = string2.split("÷");
for (String string4 : string3) {
String[] string5 = string4.split("\\+");
for (String string6 : string5) {
Log.e("Point_1", "String5 " + string5.toString());
Log.e("Point_1", "String6 " + string6);
String[] string7 = string6.split("\\-");
for (String string8 : string7) {
doubles.add(Double.parseDouble(string8));
}
}
}
}
は[number1,number2,number3 ...]
(彼らはすべて正である)と[+,-,+,*,- ...]
のような別のArrayList
事業者です。私が必要とするのは、最初にArrayList(doubles)
すべての数字を入れて、それが否定的なものにすることです。私に例を挙げてみましょう。 "-3+6
"のような文字列がある場合、倍数は数値:-3;6
で、第2のArrayList
は "+
"のみである必要があります。そして、もし我々が "6-3
"を持っていれば、ダブルで我々は:6;3
を持っていて、第二のArrayList
には "-
"しかないはずです。 どうすればいいですか?
ありがとうございます。
シャントヤードアルゴリズムを調べます。オペレーターを取り外さないでください。 –
私はPOJOを作って、演算子と値を私的に格納することができます。 –
とは別に、 'string5.toString()'ではなくlog文で、 'Arrays.toString(string5)'が必要です。 –