[問題] 猜拳 按Q跳出

看板java作者 ( Dizzy)時間15年前 (2010/09/04 11:25), 編輯推噓0(004)
留言4則, 2人參與, 最新討論串1/3 (看更多)
請教大家 剪刀 石頭 布 按 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.31.43 ※ 編輯: SickKid 來自: 211.31.31.43 (09/04 11:32)

09/04 11:28, , 1F
(!personPlay.equalsIgnoreCase("Q"))
09/04 11:28, 1F

09/04 11:33, , 2F
oh my 想起來了 感謝
09/04 11:33, 2F

09/04 11:41, , 3F
不過按了Q還是跳不出 = =
09/04 11:41, 3F

09/04 12:01, , 4F
唷唷 我解決了 謝謝大家
09/04 12:01, 4F
文章代碼(AID): #1CWRmahF (java)
文章代碼(AID): #1CWRmahF (java)