[英]Integer Parsing is not working for converting binary to decimal
我正在開發一個可以計算二進制二數的應用程序。 我使用兩個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" />
爪哇:
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 或為空,並且它們會產生異常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.