import java.util.*;
public class HangManP5
{
public static void main(String[] args)
{
int attempts = 10;
int wordLength;
boolean solved;
Scanner k = new Scanner(System.in);
System.out.println("Hey, what's your name?");
String name = k.nextLine();
System.out.println(name ", hey! This is a hangman game!\n");
RandomWord(word);
int len = word.length();
char[] temp = new char[len];
for(int i = 0; i < temp.length; i )
{
temp[i] = '*';
}
System.out.print("\n");
System.out.print("Word to date: ");
while (attempts <= 10 && attempts > 0)
{
System.out.println("\nAttempts left: " attempts);
System.out.print("Enter letter: ");
String test = k.next();
if(test.length() != 1)
{
System.out.println("Please enter 1 character");
continue;
}
char testChar = test.charAt(0);
int foundPos = -2;
int foundCount = 0;
while((foundPos = word.indexOf(testChar, foundPos 1)) != -1)
{
temp[foundPos] = testChar;
foundCount ;
len--;
}
if(foundCount == 0)
{
System.out.println("Sorry, didn't find any matches for " test);
}
else
{
System.out.println("Found " foundCount " matches for " test);
}
for(int i = 0; i < temp.length; i )
{
System.out.print(temp[i]);
}
System.out.println();
if(len == 0)
{
break; //Solved!
}
attempts--;
}
if(len == 0)
{
System.out.println("\n---------------------------");
System.out.println("Solved!");
}
else
{
System.out.println("\n---------------------------");
System.out.println("Sorry you didn't find the mystery word!");
System.out.println("It was \"" word "\"");
}
}
public static String RandomWord(String word)
{
//List of words
Random r = new Random();
int a = 1 r.nextInt(5);
if(a == 1)
{
word=("Peace");
}
if(a == 2)
{
word=("Nuts");
}
if(a == 3)
{
word=("Cool");
}
if(a == 4)
{
word=("Fizz");
}
if(a == 5)
{
word=("Awesome");
}
return (word);
}
}
好的,所以这是我的刽子手游戏的代码,我唯一要做的就是让我的程序随机化其中一个单词,它应该在方法中成功完成.但我遇到的唯一问题是让字符串变量“word”返回到主类(有一些错误强调主类中的所有“单词”变量).
如果我可以通过这种或其他方式获得帮助来从列表中生成随机单词,那将是惊人的.
解决方法:
在java中,参数按值传递,而不是通过引用传递.因此,您无法更改参数的引用.
在您的情况下,您需要:
public static String getRandomWord() {
switch(new Random().nextInt(5)) {
case 0:
return "Peace";
case 1:
return "Nuts";
// ...
default:
throw new IllegalStateException("Something went wrong!");
}
}
在主要:
// ...
String word = getRandomWord();
int len = word.length();
// ...
来源:https://www.icode9.com/content-1-494101.html