正規表現の使用に問題があります。
これは私が持っているものです:
String expr = "1+4+3-2"
Matcher m;
while(Pattern.matches("[+-].*", expr))
{
(m = Pattern.compile("[+-](.*)").matcher(expr)).find();
expr = parseTerm(m.group(1));
System.out.println("+: " + expr)
}
上記の文字列で「+」または「-」を見つけようとしています(または、+や-などのその他の計算1+D[0]+D[5]
)。+または-を見つけたら、操作の左側と右側の数字を使用して操作を実行したいと思います。したがって、1 + 4は5を作るために加算されます。次に、5 + 3は8を作るために加算され、最後に8-2は減算されて6になります。私の現在のコードは何らかの理由でwhileループを通過していないので、 m何も加算または減算できません。私は何が間違っているのですか?