我想将中缀操作转换为后缀操作。当输入作为已经通过数组拆分的表达式给出时,我的代码有效。但是当输入作为原始String表达式给出时,它不会。
String[] exp={"23","+","32"}//this works
String str="23 + 32";
String[]exp=str.split("//s+" );//this doesn't work
答案 0 :(得分:1)
我认为你必须使用反斜杠而不是斜杠:
String[] exp = str.split("\\s+");
答案 1 :(得分:1)
我在代码中看到了2个问题。首先,您的第二个String[]
与您的第一个 String[] exp = {"23","+","32"};
String str = "23 + 32";
String[] exp2 = str.split("\\s+"); // or " +"
System.out.println(Arrays.toString(exp));
System.out.println(Arrays.toString(exp2));
具有相同的变量名称。第二个是你使用正斜杠而不是反斜杠。
{{1}}
上述内容对我来说正常。
我希望这会有所帮助。