亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何檢查用戶輸入的字符串是否是Java中的某個字母?

如何檢查用戶輸入的字符串是否是Java中的某個字母?

慕姐8265434 2022-06-15 09:32:23
我知道這是一個重復的問題,但我的問題更多地涉及布爾運算符:我正在構建一個簡單的石頭、紙、剪刀游戲。每個玩家必須輸入“R”、“P”或“S”。這個簡單的 if 語句if (!p1Input.equals("R") || !p1Input.equals("P") || !p1Input.equals("S")) {    System.out.println("Player one, not a valid input.")}如果字符串不是這三個字母,則應該運行 print 語句。但是,即使字符串等于其中一個字母,它仍然會打印出無效的輸入?;蛘撸铱梢宰鰅f (p1Input.equals("R") || p1Input.equals("P") || p1Input.equals("S"))這可行,但我需要將玩家 2 的輸入與if (p1Input.equals("R") || p1Input.equals("P") || p1Input.equals("S") && p2Input.equals("R") || p2Input.equals("P") || p2Input.equals("S"))但如果兩個玩家輸入都不是 R、S 或 P,則該語句僅打印無效。我不確定哪個運算符 && 或 || 使用和在哪里。最好我想使用“不等于條件”
查看完整描述

2 回答

?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

這是您的布爾邏輯的問題?;旧?,在檢查輸入時,您是在對您的程序說:“如果輸入不同于 R或P或S,則它是無效的”。好吧,假設用戶鍵入“P”?!癙”不同于“R”,也不同于“S”,所以你的程序會認為它是無效的。相反,將“OR”運算符 ( ||) 換成“AND”運算符 ( &&),如下所示:


if (!p1Input.equals("R") && !p1Input.equals("P") && !p1Input.equals("S")) {

    System.out.println("Player one, not a valid input.")

}

現在,您正在告訴您的程序,當輸入同時與“R” 、 “P”和“S”不同時,輸入是無效的(因此它不能是這些字母中的任何一個)。


查看完整回答
反對 回復 2022-06-15
?
烙印99

TA貢獻1829條經驗 獲得超13個贊

或者,您可以嘗試使用正則表達式 as 的解決方案::
if(!p1Input.matches("P|R|S"))當輸入無效時,將滿足此條件,即P, R or S. 同樣,您也可以為 player2 合并邏輯。
希望這可以幫助。

查看完整回答
反對 回復 2022-06-15
  • 2 回答
  • 0 關注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號