これが私がやったことです:
while (sc.hasNext()) {
String sLine = sc.nextLine();
sLine.replaceAll("\\s", "");
String[] scanned = sLine.split("");
私の入力は次のようになります。
IF (2 -2 +) (3 2 *) (-1 4 +) (5 3 *)
これが何を意味するかは関係ありませんが、スキャナが行うことは、まず第一に、それを「そのまま」文字列に格納することです。次に、replaceAll 関数を使用してすべての空白を削除します。その後、次のものが残ります。
IF(2-2+)(32*)(-14+)(53*)
次に、java を使用してこのコードを解釈し、エラーが発生しなければ計算を実行します。私の問題は、文字列をトークンに分割すると、各「マイナス」に独自のトークンが署名されることですが、トークンが単なる整数になるように、それに続く整数と何らかの形で関連付けたいと考えています(現在は負です) ) であり、マイナス記号が含まれるトークンはありません。そのようなことを行う簡単な方法はありますか?