【发布时间】:2015-08-10 12:47:11
【问题描述】:
为了学习,我为安卓制作了简单的计算器,但它有问题。所有数字键都只是append 对应的数字到TextView。等于按钮执行加/减/除/乘的工作。但问题是,它一次只能做一个,如果我把加号和减号混在一起,它会崩溃。这是执行加法的等号按钮的代码:
equals = (Button) findViewById(R.id.equals);
equals.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
result.getText();
String expression = (result.getText()).toString();
if(expression.contains("+")){
String[] numbers = expression.split("\\+");
String no1 = numbers[0];
String no2 = numbers[1];
Double numb1 = Double.valueOf(no1);
Double numb2 = Double.valueOf(no2);
Double added = numb1+numb2;
theresult = String.valueOf(added);
result.setText(theresult);
}
}
});
正如您在上面看到的,出现了另一个问题。它不能处理多个+ 符号,我怎样才能让它添加 x 数量的数字?对不起,我是编程新手,我想了解它是如何工作的,而不是让它工作,所以如果可能的话也请解释一下。谢谢。
【问题讨论】:
-
如果它崩溃了,那么最好的办法就是发布 logcat 错误。
-
尝试输入的字符串 = result.getText().toString()。但是,如果您添加减号或除 + 以外的任何其他符号,它将不起作用
-
@Rohit5k2 好的。你认为你会通过调用这个 String.valueOf(result) 从 EditText 中获取输入的文本吗??
-
对不起,我从上一个问题中复制了这个。我现在修好了,和老板说的一样,加了 .toString() 。它的 TextView 不是 EditText,因为 EditText 弹出的键盘很烦人,如果有人输入错误的东西会抛出异常。
标签: java android android-studio