Re: [問題] 猜拳 按Q跳出

看板java作者 ( Dizzy)時間13年前 (2010/09/04 12:10), 編輯推噓1(102)
留言3則, 3人參與, 最新討論串2/3 (看更多)
我自己解決了 改成這樣就行了 //}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
建議case的部分可以用enum去宣告 @@
09/04 17:01, 1F

09/04 20:05, , 2F
唷唷 謝謝 還沒學到 有空來研究一下!!
09/04 20:05, 2F

09/05 10:50, , 3F
java的enum...
09/05 10:50, 3F
文章代碼(AID): #1CWSQpqV (java)
討論串 (同標題文章)
文章代碼(AID): #1CWSQpqV (java)