Re: [問題] 猜拳 按Q跳出
我自己解決了 改成這樣就行了
//}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
推
09/04 17:01, , 1F
09/04 17:01, 1F
→
09/04 20:05, , 2F
09/04 20:05, 2F
→
09/05 10:50, , 3F
09/05 10:50, 3F
討論串 (同標題文章)