我对堆栈溢出很新,我几个月来一直在学习Java。到目前为止,我已经创建了一个计算器,可以找到多组括号并正确地解决它们。但是我正在努力弄清楚如何正确地在括号内正确找到括号。
例如;
说我输入以下字符串......
“10+(2+(3 * 2))”
我基本上希望它将“3 * 2”设置为另一个字符串。我怎样才能在最深的括号内找到什么?
提前感谢您提供任何帮助/建议,如果我不清楚或太模糊,请提出问题。
这是我到目前为止检查括号的内容;
public static String checkForBrackets(String formula) {
for (int i = 0; i < formulaChars.size(); i++) {
for (int j = 0; j < formulaChars.size(); j++) {
if ((formulaChars.get(i) == ')') && (formulaChars.get(j) == '(')) {
bracketFormula = formula.substring(j + 1, i);
formulaChars.clear();
}
}
}
System.out.println(bracketFormula)
}
for循环正在检查最左边的开始和结束括号。
如果我要输入字符串“10+(2+(3 * 2))”,代码将返回“2+(3 * 2”而不是我想要的;“3 * 2”