3 回答

TA貢獻1815條經(jīng)驗 獲得超13個贊
也許將你的代碼與我的代碼進行比較。我?guī)缀醢凑漳阏f的方式做了,只有細微的差別。
$ javac Num.java && java Num
Full key: 255142125179
Parsing: 142
Parsed: 142
$ cat Num.java
import java.util.Random;
public class Num {
public static int getRed(String key) {
System.out.printf("Parsing: %s\n", key.substring(3, 6));
return Integer.parseInt(key.substring(3,6));
}
public static void main(String[] args) {
String key = new String("");
Random random = new Random();
for (int index = 0; index < 12; ++index) {
key = key + Integer.toString(random.nextInt(10));
}
System.out.printf("Full key: %s\n", key);
int value = getRed(key);
System.out.printf("Parsed: %d\n", value);
}
}
我不認為有什么問題。它似乎工作正常,因此您沒有包含重要的內容。

TA貢獻1946條經(jīng)驗 獲得超3個贊
正如我所見,您嘗試通過 Integer.parseInt(key.substring(3,6));從“ l 20”獲取整數(shù) 據(jù)我所知 parseInt() 解析整數(shù)(數(shù)字)。“l(fā)”是什么數(shù)字?)我不知道,整數(shù)也不知道,這就是它拋出此異常的原因)

TA貢獻1852條經(jīng)驗 獲得超7個贊
我剛剛發(fā)現(xiàn)出了什么問題,我沒有將 String 鍵初始化為“”,因此它默認為 null,并且它嘗試轉換的子字符串 3-6 以 L 開頭
一旦我修復它,錯誤就消失了
感謝所有幫助過的人
添加回答
舉報