for(int i = 0; i <= gameWord.length()-1; i++)
{
if(guessLetter.charAt(0) == (gameWord.charAt(i)))
{
hideword[i] = guessLetter.charAt(0);
}
else if(guessLetter.charAt(0) != (gameWord.charAt(i)))
{
System.out.print("_" + " ");
}
}
我正在制作一个刽子手游戏,我创建了一个名为hideword的数组列表。隐藏字会为用于游戏的单词中的每个字母打印下划线。我试图找到一个方法,将下划线与用户猜测的字母交换。但是这段代码
hideword[i] = guessLetter.charAt(0);
不起作用。它给了我“需要数组,但发现java.util.ArrayList
有人帮忙吗?
答案 0 :(得分:3)
然后,hideword必须是一个arraylist。使用hideword.set(index, character)
进行分配,而不是像数组一样访问它。
答案 1 :(得分:0)
var obj_list = '<div class="list-group">';
不是数组,它是ArrayList
实现(但是,它的实现是支持一个数组 - 因此名称)。
将List
声明为hideword
:
char
并在使用前初始化它:
private char[] hideword;
您的代码在不改变其基本意图的情况下可以大大简化:
hideword = new char[gameword.length];
,只需更改比较运算符1
中没有if
- 我们已经知道它不相等,因为我们在else
区块像这样:
else
如果for (int i = 0; i < gameWord.length(); i++) {
if (guessLetter.charAt(0) == (gameWord.charAt(i))) {
hideword[i] = guessLetter.charAt(0);
} else {
hideword[i] = '_';
}
}
// print hideword
不存在,您的代码会更简单,而您在测试时只需hideword
每个字符。