这是我所做的:
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 解释此代码并在没有发生错误的情况下执行计算。我现在的问题是,当我将字符串拆分为标记时,它将使每个“减号”标记自己的标记,但我想以某种方式将它与它后面的整数相关联,以便标记仍然只是一个整数(现在为负) 并且没有带有减号的标记。有没有简单的方法来做这样的事情?