我刚刚开始写一个(猜字母游戏)作为一个赋值..在java中(第一个玩家输入10个单词,然后3个随机字符将被隐藏,之后第二个玩家将猜测每个角色,如果他猜对了然后将显示来自第一个玩家的新单词猜测隐藏的字符,直到所有10个单词都被正确猜到..如果他猜错了>>>>问题,他只有10次尝试退出程序是用第二个玩家猜到的隐藏角色替换隐藏的角色
这里我如何隐藏3个随机字符形成一个字符串:
Scanner s = new Scanner(System.in);
Random r= new Random();
String word= null;
for (int i=0; i<10;i++){
word= s.nextLine();
}
int wordlength = word.length();
int a=0, b=0,c=0;
while(a==b||b==c||a==c){
a= r.nextInt( wordlength);
b= r.nextInt( wordlength);
c= r.nextInt( wordlength);
}
char[] wordsArray = word.toCharArray();
wordsArray [a]='-';
wordsArray [b]='-';
wordsArray [c]='-';
String modwords =new String (wordsArray);
System.out.println(modwords );
答案 0 :(得分:-1)
读取StringBuilder
的用户输入并比较a
,b
和c
位置,如果用户输入char等于原始单词char而非替换它,类似的东西
public static void main(String[] args) {
String word = "hello";
StringBuilder obscureWord = new StringBuilder("h-l-o");
Scanner s = new Scanner(System.in);
while (true){
int pos = obscureWord.indexOf("-");
if (pos == -1)
break;
System.out.println("guess the letter " + obscureWord + " : ");
char c = s.nextLine().charAt(0);
if (c == word.charAt(pos)){
obscureWord.replace(pos,pos+1, word.substring(pos,pos+1));
System.out.println("correct guess! " + obscureWord);
}
else {
System.out.println("incorrect, try again");
}
}
}
当然,您可以将while
替换为for loop
以进行限制尝试