我很在新的Java。我正在嘗試寫一個彩票模擬器。我有以下代碼:Java錯誤時爲int
Scanner input = new Scanner(System.in);
System.out.println("Enter six whole numbers between 1 and 49 in a comma-separated list: ");
String userNumbersString = input.nextLine();
String[] userNumbersArray = userNumbersString.replaceAll("\\s+","").split(",");
ArrayList userNumbers = new ArrayList(Arrays.asList(userNumbersArray));
boolean validNumbers = true;
for(int v = 0; v <= 6; v++){
if((int)userNumbers.get(v) > 49){
validNumbers = false;
v = 7;
}else{
v++;
}
}
if(validNumbers == false){
String[] str = new String[0];
main(str);
}
它編譯正確。但是,當我輸入一系列數字時,出現此錯誤:
java.lang.ClassCastException: java.lang.String不能轉換爲java.lang.Integer。
我爲什麼這個字符串不能轉換爲整數很困惑。
很抱歉,如果這是一個囉嗦的問題,但我會非常有得到任何幫助。
我剛剛意識到OutOfBounds異常是源於我的一個愚蠢的錯誤,數學; v從0開始;數組中有五個值,但是我給出了for循環的條件< = 6.對不起。
謝謝大家的一切幫助。一起,你已經解決了我的問題。
不要爲有問題的人自己按摩。把它作爲評論在這個人的答案下。 – Pshemo 2014-09-20 20:55:18
@Pshemo好的;對不起, – user3315726 2014-09-20 20:57:52