2016-02-12 96 views
2

所以,我有2個列表,一個字符和一個玩家。引起:java.lang.IndexOutOfBoundsException:無效索引8,大小爲8

我應該都得到同樣的指數,一起看見他們(顯示它們的值)

但是當我通過一個for循環這樣做,我得到的Caused by: java.lang.IndexOutOfBoundsException: Invalid index 8, size is 8錯誤

任何想法?

+2

當您使用大小時,您應該使用size-1,因爲4個元素數組的大小爲4,因此當您使用循環時,它將從0到3. –

+3

堆棧跟蹤會爲您提供行號。仔細檢查該行。 –

+0

@FET - 你的'addCharacter'方法是什麼樣的? – vk239

回答

2

這一切都是我用來傳遞玩家數量的方式造成的:即使它們爲空,也會傳遞一些值!所以這導致名單不能正確填寫!

總是檢查:P謝謝大家的幫助!

1

幾乎所有的編程語言,數組,字符串和其他對象的索引都是從零開始的,並且在length - 1處結束。因此,一個大小爲8的數組的最大索引爲7.檢查您的characters對象,並確保其長度與players相同。

+0

它看起來像有9名球員,但8個字符,我認爲有一個錯誤是由我用來傳遞字符值的方法引起的。要馬上更新我的問題! – FET