我正在开发一个将计算二进制两位数的应用程序。我正在使用两个EditText
来获取输入。然后将值发送到两个字符串。然后Integer.parseInt(input, 2)
用于将数字转换为整数进行计算。但是当我使用Integer.parseInt时,应用程序崩溃了。
XML:
<EditText
android:id="@+id/edit1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:hint="Enter 1st Value"
android:textSize="17sp" />
<EditText
android:id="@+id/edit2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:hint="Enter 1st Value"
android:textSize="17sp" />
Java:
EditText input1, input2;
int number1, number2, number3;
String string1, string2, string3;
input1 = findViewById(R.id.edit1);
input2 = findViewById(R.id.edit2);
result = findViewById(R.id.result);
string1 = input1.getText().toString();
string2 = input2.getText().toString();
number1 = Integer.parseInt(string1, 2);
number2 = Integer.parseInt(string2, 2);
number3 = number1 + number2;
当我使用number1 = Integer.parseInt(string1, 2);
&number2 = Integer.parseInt(string2, 2);
应用程序崩溃时。
当我删除该部分时,该应用程序不会崩溃。
我搜索了各种解决方案,但没有任何效果。
注意:当我将字符串设置为某个值时Inter.parseInt
,不会导致崩溃。
在number1之前= Integer.parseInt(string1,2); 您应该检查string1是有效数字。
至少我会做类似的事情:
try {
if (string1 != null && string1.trim().equals("")) {
number1 = Integer.parseInt(string1.trim(), 2);
}
// check other strings...
} catch (Exception e) {
// do something if exception occur
}
注意:在onCreate()处,这些值(string1,string2,string3)可能为null或为空,并且它们将生成异常。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句