求一个用java写的猜英语单词的程序,具体要求如下:

1.输入一个单词,长度不限;
2.当输入完这个单词后,弹出的窗口中用“_”代表要猜的单词的个数,
例如:apple——“_ _ _ _ ”;
3.当输入对的字母时,“
”就变成相对应的字母;
4.当输入错的字母时,此窗口显示输入错的字母是哪个;记录所输入的全部字母,无论是对的字母还是错误字母,显示出来的只有一个;如果所猜的单词中有多个相同字母,那么只要输入的字母正确,就全部显示出来。

5。如果重复输入相同的字母,只显示一次此字母,不再重复显示;
6.输入的字母忽略大小写,一共有10此机会。

一共就这些要求啦,希望大侠们看看啊!!!
小弟真的不会哦。。。。

你试试看
[code="java"]
public static void main(String args[]) {
int count = 10;
System.out.println("Input the word to be guess ");
char[]words=getInputWords().toCharArray();
char[]result=new char[words.length];
Arrays.fill(result, '_');
while(count!=0){
String input = getInputWords().toLowerCase();
if(input.length()!=1){
System.out.println("intput error");
continue;
}
guess(words,input.charAt(0),result);
System.out.println("input:"+input+"\t\t"+arrayToString(result));
if(checkIsEnd(words,result)) break;
count--;
}
}
private static boolean checkIsEnd(char[] words, char[] result) {
for(int i=0;i<words.length;i++){
if(words[i]!=result[i]) return false;
}
return true;
}
public static String getInputWords(){
Scanner in = new Scanner(System.in);
String input =in.next();
return input;
}

public static void guess(char[] target,char input,char[] result){
    for(int i=0;i<target.length;i++){
        if(target[i]==input){
            result[i]=input;
        }
    }
}

public static String arrayToString (char[] array){
    StringBuilder sb = new StringBuilder(array.length*2);
    for(char o : array){
        sb.append(o).append(",");
    }
    sb.deleteCharAt(sb.length()-1);
    return sb.toString();
}

[/code]