我在使用 radioButtons 对用户输入执行不同的计算时遇到问题。如果 radioButton.isChecked,用户插入其值并单击“计算”按钮,我无法检索答案。我已经在 OnClickListener 中尝试了 if/else 语句,但是如果我选择相应的按钮,应用程序就会崩溃。让我解释一下我的代码:用户选择所需的单选按钮;用户插入其数据并对其进行验证:该字段不能为空或只有一个点(。)(作为不让应用程序崩溃的一种形式,它运行良好);用户单击“计算”按钮,然后在 TextView 上检索其关于所选单选按钮的答案。这里是:calcbtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (view.getId() == R.id.calcbtn){ float n1, n2; String value1 = vol.getText().toString(); //storing user inputs String value2 = tempo.getText().toString(); if (value1.equals("") || value1.equals(".")) { //validation starts in this line n1 = 0; } else { n1 = Float.parseFloat(value1); } if (value2.equals("") || value2.equals(".")) { n2 = 0; } else { n2 = Float.parseFloat(value2); } //validation ends if (radioButton1.isChecked()){ //calculation starts float ansA = n1/(n2*3); resultATextView.setText(String.format("The result A is: ", ansA)); float ansB = n1/n2; resultBTextView.setText(String.format("The result B is: ", ansB)); } else if (radioButton2.isChecked()){ float ansC = (n1/n2)*20; resultCTextView.setText(String.format("The result C is: ", ansC)); float ansD = (n1/n2)*60; resultDTextView.setText(String.format("The result D is: ", ansD)); } }}});我应该在每个受人尊敬的 TextView 中检索答案,但如果我只选择一个按钮,应用程序就会崩溃。我是 Java 初学者,非常感谢您的帮助。
1 回答
元芳怎么了
TA贡献1798条经验 获得超7个赞
可能是由于输出而出现问题。没有格式化程序。
String.format("The result D is: ", ansD);
要使其提供正确的输出,请尝试:
String.format("The result A is: %.1f", ansA);
String.format("The result B is: %.1f", ansB);
String.format("The result C is: %.1f", ansC);
String.format("The result D is: %.1f", ansD);
添加回答
举报
0/150
提交
取消