我需要從預設字符串中提取字符。我知道方法string.charAt()
,我使用它,但它使我的程序崩潰。我用的背景是這樣的:從字符串中提取字符
private String values = "ABCDEFG";
//Converts a 10 base number to a q base
private String t2q(String number, String base) {
String a = Double.toString((int)(Double.parseDouble(number)/Double.parseDouble(base)));
String b = Double.toString((int)(Double.parseDouble(number) % Double.parseDouble(base)));
StringBuilder converted = new StringBuilder(a + b);
if (!check_base(converted.toString(), base)) {
return t2q(a, base) + values.charAt(Integer.parseInt(b));
}
char ab = values.charAt(Integer.parseInt(a));
char ba = values.charAt(Integer.parseInt(b));
return "" + ab + ba;
}
在開始的時候我在想,我的程序崩潰,因爲a
處於Double
格式如1.0
所以我用一個函數,在1
轉換1.0
但沒有,它仍然崩潰。此外,我嘗試Character
而不是char
但它沒有區別。 對於示例number = "11011"
和base = 16
,示例錯誤爲「java.lang.NumberFormatException:Invalid int:」1.0「」,因此基於16
的11011
爲1B
。
什麼是異常「崩潰」?零分?空指針? – Jan
你得到的例外是什麼? –
此功能用於轉換基本應用程序。所以當程序達到'char ab = values.charAt(Integer.parseInt(a));'指令時,我立即得到「不幸的是,基本計算器已經停止」 –