好的,所以任务是我采用 Lisp 表达式:
'(A B C D)
并把它变成
'(D C B A)
在Java中。为此,我有以下代码:
String[] items = input.split(" |\\(|\\)|'");
int y = 0;
for (String x : items){ //this part is purely for debugging
System.out.println(y + " " + x);
y++;
}
这样它就可以用空格、(、) 和 ' 来分隔它。我应该得到的输出是
0 A
1 B
2 C
3 D
但由于某种原因,我得到的输出是
0
1
2 A
3 B
4 C
5 D
为什么会发生这种情况?另外,有人建议更好的方法吗?
最佳答案
以字符'
结尾的子串是空子串,以(
结尾的字符串也是空子串
您使用的方法将字符串分解为以分隔符终止的子字符串。
关于java - Java 中 Lisp 表达式的拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28312971/