作者SickKid ( Dizzy)
看板java
标题Re: [问题] 猜拳 按Q跳出
时间Sat Sep 4 12:10:25 2010
我自己解决了 改成这样就行了
//}else System.out.println("Errors!!");不要了
// personPlay = " "; 也不要了
else
if(!personPlay.equalsIgnoreCase("Q"))
System.out.println("Errors!!");
//while (!personPlay.equalsIgnoreCase("Q") ); 再加三个条件
while (!personPlay.equalsIgnoreCase("Q") || personPlay.equalsIgnoreCase("R")
|| personPlay.equalsIgnoreCase("P") || personPlay.equalsIgnoreCase("S") );
但这个 do-while的条件也未免太长了吧?
请问有没有简洁一点的写法呢?
谢谢
※ 引述《SickKid ( Dizzy)》之铭言:
: 请教大家
: 剪刀 石头 布 按 R, P or S 开始 然後 按Q(大小写略过)跳出
: 但是按了Q or q 都跳不出 是不是do-while的条件错了啊~~~
: do
: {
: System.out.print("Enter your play R, P, or S ( Q to quit ): ");
: personPlay = scan.next().toUpperCase();
: computerInt = generator.nextInt(3); //电脑随机出拳
: if (personPlay.equalsIgnoreCase("R") || personPlay.equalsIgnoreCase("P") ||
: personPlay.equalsIgnoreCase("S") )
: {
: // Translate computer's randomly generated play to string
: switch(computerInt)
: {
: case 0:
: computerPlay = "R";
: break;
: case 1:
: computerPlay = "P";
: break;
: case 2:
: computerPlay = "S";
: break;
: default:
: computerPlay = "";
: break;
: }
: //Print computer's play
: System.out.println("Computer randomly chose " + computerPlay);
: }
: //See who won. Use nested ifs instead of &&.删了一段 不然可能违反版规唷
: // if 你出什麽 ,电脑出什麽 你赢或电脑赢了
: if (personPlay.equals(computerPlay)) {
: System.out.println("It's a tie!");
: }else if (personPlay.equals("R")){
: if (computerPlay.equals("S")){
: System.out.println("Rock crushes scissors. You win!!");
: }else {
: if(computerPlay.equals("R")){
: }else System.out.println("Errors!!"); //不是出R,S or P 也不是Q 显示error11s
: personPlay = " "; // personPlay归零(有必要吗?!!)
: } while (personPlay.charAt(0) != 81 || personPlay.charAt(0) != 113 ); // when
: personPlay is not equal to Q,
: 这里我本来想用
: personaPlay.NotEqualsIgnoreCase("Q") 但没这个method!!
: 後来用这样 想说(bolean预设为false)
: boolean personPlay.equalsIgnoreCase("Q")
: 结果也不成立…胡搞瞎搞一通
: 我想是不是 do-while的条件出了问题呢?
: 谢谢大家
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.31.47.83
1F:推 hhashoww:建议case的部分可以用enum去宣告 @@ 09/04 17:01
2F:→ SickKid:唷唷 谢谢 还没学到 有空来研究一下!! 09/04 20:05
3F:→ nvidia:java的enum... 09/05 10:50