【发布时间】:2020-02-17 02:51:00
【问题描述】:
我已经尝试了几件事来让它工作,但它返回的答案是非常错误的。例如,它返回 1+2 = 99.0 和 1*2 = 2450.0 等。所有按钮都可以工作,我认为 main 方法很好。下面是我在单击等号按钮时将 TextView 中的 CharSequence 转换为 String 的方式。
Button btnEquals = (Button)findViewById(R.id.btnEquals);
btnEquals.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String problem = textDisplay.getText().toString();
double intermediate = evalProblem(problem);
String answer = "" + intermediate;
textDisplay.setText(answer);
}
});
这是我为计算方程而调用的方法。
public static Double evalProblem(String s) {
double output;
double mult = 0.0;
double add = 0.0;
double sub = 0.0;
double div = 0.0;
if (s.contains("*")) {
int x = s.indexOf("*");
mult = s.charAt(x-1)*s.charAt(x+1);
}
if (s.contains("/")) {
int x = s.indexOf("/");
div = s.charAt(x - 1) / s.charAt(x + 1);
}
if (s.contains("+")) {
int x = s.indexOf(("+"));
add = s.charAt(x-1) + s.charAt(x+1);
}
if (s.contains("-")) {
int x = s.indexOf("-");
sub = s.charAt(x - 1) - s.charAt(x + 1);
}
output = mult + add + sub + div;
return output;
}
【问题讨论】:
标签: java android calculator