家庭作业:我在以下代码中获取和索引越界。这是一个刽子手游戏,我正在跟踪我在char
数组中猜到的字母。
这是我所做的假设:
- 在调用方法中,我有一个未填充的数组 ( ) 作为参数
char[] displayGuesses = new char[26];
传递给下面的方法。char[] usedLetters
- 字母猜测的第一次迭代,数组将为空。
- 它的长度将为0。
usedLetters[0]
我用letterGuessed
参数填充。下一次我猜,数组的长度将是 1,所以
usedLetters[1]
会被填充......等等。public char[] trackUsedLetters(char letterGuessed, char[] usedLetters) { int letterIndex = usedLetters.Length; usedLetters[letterIndex] = letterGuessed; return usedLetters; }
我认为可能发生了几件事。
- 当我尝试
usedLetters
在第一次运行时获取长度时,空数组不返回零,而是返回 null。繁荣。越界。 - 传递一个由 26 个成员定义的空白数组存在一些问题......?但我不确定这个问题会是什么,所以我不知道谷歌搜索什么会产生相关结果。
- 我可能有范围问题;尽管使用循环,但我发现此链接指向Java 的类似问题。
for
我不太明白 Java 用户想要什么,但其中一些问题听起来很熟悉。
我需要第二双眼睛来看待这个问题,并为我指出解决这个问题的正确方向。