我是新来的,也是 Java 编程的新手,我需要为 11 年级 com sci 创建的刽子手游戏的帮助。我必须为随机生成的单词创建破折号,并用用户输入的字母替换正确的破折号。我可以替换破折号,没问题,只是我无法将其保留在那里,因为它位于 for 循环中。这就是我得到的:
'for(int e = 0; e < rndword.length; e++)
{
if(rndword[e] == guess.charAt(0))
{
System.out.print(guess);
}
else if(rndword[e] == ' ')
{
System.out.print(" ");
}
else
{
System.out.print("-");
}
}`
示例输出如下:
词:佳能
输入字母:“o”
---o-
输入字母:“c”
c----
之前输入的字母不会再次出现。
提前致谢!
(P.S.我对java相当陌生,所以我只知道数组、switch、for/while循环和do while循环)
最佳答案
更好的方法是存储两个数组,一个用于向用户显示的内容,另一个用于实际单词。
然后,当用户获得正确的字母时,您可以修改向用户显示的数组。
类似于:
char[] rndword; //put the word they are trying to guess here
char[] display; //show this one to the user (start by populating it with dashes and / or spaces)
for(int e = 0; e < rndword.length; e++) {
if(rndword[e] == guess.charAt(0))
{
display[e] = guess.charAt(0);
}
System.out.print(display[e]);
}
System.out.println();
因此 display
会以“---- -- ----”开始,但如果用户猜测“A”并且它有“A”,则会更改为“--A- -- -A-A”然后打印出来。
关于java - 刽子手计划需要建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37105038/