看板 java 關於我們 聯絡資訊
請教大家 剪刀 石頭 布 按 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)
Sofya:(!personPlay.equalsIgnoreCase("Q")) 09/04 11:28
SickKid:oh my 想起來了 感謝 09/04 11:33
SickKid:不過按了Q還是跳不出 = = 09/04 11:41
SickKid:唷唷 我解決了 謝謝大家 09/04 12:01