gpt4 book ai didi

java - 函数处理后变量未更新

转载 作者:行者123 更新时间:2023-12-01 09:51:22 24 4
gpt4 key购买 nike

我正在使用两个 TextView 构建这个计算器应用程序(一个用于公式,一个用于结果)。现在计算后的结果存储在一个名为 result 的变量中,该变量默认为空。但是当我运行它时,在函数执行后,一切正常,但结果变量仍然是空字符串。请帮助我。

科学计算器.java

 int prevAnswer = 0;
TextView formulascreen;
TextView resultscreen;
String formuladisplay = "";
String resultdisplay = "";
String result = "";
String operator;

public void onClickEquals(View view) {

Toast toast = Toast.makeText(getContext(), "Equals to: " + String.valueOf(result), Toast.LENGTH_SHORT);
toast.show();

if (operator == "+" || operator == "-" || operator == "x" || operator == "÷") {

getResult();
updateresultdisplay();

}

}

private boolean getResult() {

if (operator == "") return false;

String[] operation = formuladisplay.split(Pattern.quote(operator));

if (operation.length < 2) return false;

result = String.valueOf(res.format(simpleOp(operation[0], operation[1], operator)));

return true;

}

public double simpleOp(String a, String b, String op) {

switch (op) {

case "+":
return Double.valueOf(a) + Double.valueOf(b);

case "-":
return Double.valueOf(a) - Double.valueOf(b);

case "x":
return Double.valueOf(a) * Double.valueOf(b);

case "÷":
return Double.valueOf(a) / Double.valueOf(b);

default:
return -1;

}

}

最佳答案

您有两个结果变量:resultresultdisplay。计算代码更新 result,但在 updateresultdisplay() 中,您可以使用显示(不变)resultdisplay 的内容。

因此您只需将 updateresultdisplay() 更新为

private void updateresultdisplay() {
resultscreen.setText(result);
}

关于java - 函数处理后变量未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37577523/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com