[問題] 猜拳 按Q跳出
請教大家
剪刀 石頭 布 按 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
09/04 11:28, 1F
→
09/04 11:33, , 2F
09/04 11:33, 2F
→
09/04 11:41, , 3F
09/04 11:41, 3F
→
09/04 12:01, , 4F
09/04 12:01, 4F
討論串 (同標題文章)