Java??Ϸ???

核心提示import?java.util.*;public?class?test?{private?static?Scanner?in?=?new?Scanner(System.in);public?static?void?main(String?

import?java.util.*;

public?class?test?{

private?static?Scanner?in?=?new?Scanner(System.in);

public?static?void?main(String?args[])?{

int?level,?guessCount?=?0;

String?inputStr,?guessStr?=?"";

showMsg("欢迎尝试猜字母游戏!");

showMsg("请输入游戏级别(5、7、9)");

level?=?getLevel(in.next());

guessStr?=?getGuessStr(level);

showMsg("游戏开始,请输入你所猜的"?+?level?+?

"个字符序列:(exit-退出,?guess-作弊)");

while?(!"exit".equals(inputStr?=?in.next()))?{

if?("guess".equals(inputStr))?{

showMsg("偷偷告诉你,答案是:"?+?guessStr);

}?else?if?(guessStr.equals(inputStr.toUpperCase()))?{

showMsg("恭喜你猜对了!正确答案是:"?+?guessStr);

return;

}?else?{

showGuessState(guessStr,?inputStr.toUpperCase(),?++guessCount);

}

}

}

private?static?void?showGuessState(String?guessStr,?String?inputStr,?int?guessCount)?{

int?letterRight?=?0,?positionRight?=?0;

for?(int?i=0;i<guessStr.length();i++)?{

char?s?=?guessStr.charAt(i);

if?(inputStr.contains(s?+?""))?{

letterRight++;

if?(s?==?inputStr.charAt(i))?{

positionRight++;

}

}

}

showMsg("你猜对"?+?letterRight?+?"个字符,"

+?"其中"?+?positionRight?+?"个字符的位置正确!"

+?"(总次数-"?+?guessCount?+?",?exit-退出)");

}

//获取字符串

private?static?String?getGuessStr(int?level)?{

String?guessStr?=?"";

Random?random?=?new?Random();

for?(int?i=0;i<level;i++)?{

char?str?=?(char)?('A'?+?random.nextInt(26));

if?(guessStr.contains(str?+?""))?{

i--;

}?else?{

guessStr?+=?str;

}

}

return?guessStr;

}

//获取游戏等级

private?static?int?getLevel(String?inputStr)?{

switch?(inputStr)?{

case?"5":

return?5;

case?"7":

return?7;

case?"9":

return?9;

default:

showMsg("请重新输入游戏等级:");

return?getLevel(in.next());

}

}

//控制台输出带前缀

private?static?void?showMsg(String?msg)?{

System.out.println("GuessingGame>"?+?msg);

}

}

不谢~

 
友情链接
鄂ICP备19019357号-22