Java:字符串解析括号层

时间:2017-01-13 12:35:26

标签: java brackets string-parsing

我对堆栈溢出很新,我几个月来一直在学习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”

0 个答案:

没有答案