背景
我正在尝试编写一个程序,其中用户输入格式公式
A?B:C?(X-1):D?(Y-3):(Z*3)
然后代码将引导用户通过一系列是/否问题来确定在某些条件下将返回什么。
问题
我已经编写了一个findTrue代码,它将提取这种公式的真实部分。如果用户输入的部分中有更多问号,我希望我yesListener的操作问另一个问题。true如果不是,它将返回答案。
ActionListener yesListener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String formula = textArea.getText();
int i = StringUtils.countMatches(formula, "?");
if (i>1) {
String newFormula = "";
newFormula = findTrue(formula);
questionLabel.setText(askQuestion(newFormula));
}
else {questionLabel.setText("The formula will return" + findTrue(formula));}
}};
我第一次运行代码时它工作正常,但第二次它从原始输入再次运行 getText()。所以,我认为最好的方法是如果我可以将字符串传递到actionPerformed而不是在内部评估它。但是,我对 java 还是很陌生,我正在努力了解如何实现这一点。
GCT1015
相关分类