java刽子手小游戏代码,谁能帮我看下,注释一下,本人小白,讲清楚点哦。

import java.util.Scanner;

public class Exercise9_31 {
public static void main(String[] args) {
String[] words = { "write", "program", "that", "receive", "positive" };
char anotherGame;

Scanner input = new Scanner(System.in);

do {
int index = (int) (Math.random() * words.length);

String hiddenWord = words[index];
StringBuilder guessedWord = new StringBuilder();

for (int i = 0; i < hiddenWord.length(); i++)
guessedWord.append('*');

int numberOfCorrectLettersGuessed = 0, numberOfMisses = 0;

while (numberOfCorrectLettersGuessed < hiddenWord.length()) {
System.out.print("(Guess) Enter a letter in word " + guessedWord
+ " > ");
String s = input.nextLine();
char letter = s.charAt(0);

if (guessedWord.indexOf(letter + "") >= 0) {
System.out.println("\t" + letter + " is already in the word");
} else if (hiddenWord.indexOf(letter) < 0) {
System.out.println("\t" + letter + " is not in the word");
numberOfMisses++;
} else {
int k = hiddenWord.indexOf(letter);
while (k >= 0) {
guessedWord.setCharAt(k, letter);
numberOfCorrectLettersGuessed++;
k = hiddenWord.indexOf(letter, k + 1);
}
}
}

System.out.println("The word is " + hiddenWord + ". You missed "
+ numberOfMisses + ((numberOfMisses <= 1) ? " time" : " times"));

System.out.print("Do you want to guess for another word? Enter y or n> ");
anotherGame = input.nextLine().charAt(0);
} while (anotherGame == 'y');
}
}

import java.util.Scanner;
//引入包
public class Exercise9_31 {
public static void main(String[] args) {
String[] words = { "write", "program", "that", "receive", "positive" };
//创建一个string 数组
char anotherGame;

Scanner input = new Scanner(System.in);
//新建一个Scanner对象 用于读取用户输入
do {
//do while loop,用户输入Y就一直执行
int index = (int) (Math.random() * words.length);
//生成0-4之间的一个随机数
String hiddenWord = words[index];
//根据生成的随机数 选定hiddenword也就是你要猜的单词
StringBuilder guessedWord = new StringBuilder();
//新建一个StringBuilder对象 用来猜单词
for (int i = 0; i < hiddenWord.length(); i++)
guessedWord.append('*');
//先将要猜的单词以全部星号形式显示
int numberOfCorrectLettersGuessed = 0, numberOfMisses = 0;
//两个整数 记录猜对的字母数 和猜错的字母数
while (numberOfCorrectLettersGuessed < hiddenWord.length()) {
//只要还没才出来 就一直执行
System.out.print("(Guess) Enter a letter in word " + guessedWord
+ " > ");
//打印消息 让用户输入
String s = input.nextLine();
char letter = s.charAt(0);
//这两句读取用户输入的字母
if (guessedWord.indexOf(letter + "") >= 0) {
//如果这个字母已经显示了,已经猜过并且出现在要猜的单词里面(没有出现的话 index会是-1)
System.out.println("\t" + letter + " is already in the word");
} else if (hiddenWord.indexOf(letter) < 0) {
//如果单词里面没这个单词
System.out.println("\t" + letter + " is not in the word");
numberOfMisses++;
//猜错的数加一
} else {
int k = hiddenWord.indexOf(letter);
//最后一种情况 就是这个字母猜中了某个位置
while (k >= 0) {
guessedWord.setCharAt(k, letter);
//把这个字母替代星号 放到单词中
numberOfCorrectLettersGuessed++;
//猜对的字母加一
k = hiddenWord.indexOf(letter, k + 1);
}
}
}

System.out.println("The word is " + hiddenWord + ". You missed "
+ numberOfMisses + ((numberOfMisses <= 1) ? " time" : " times"));

System.out.print("Do you want to guess for another word? Enter y or n> ");
anotherGame = input.nextLine().charAt(0);
} while (anotherGame == 'y');
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-05
不知
第2个回答  2012-05-05
囧 就是个猜字游戏么~~
相似回答