簡體   English   中英

如何在Java中使ax = y或z語句

[英]How to make a x = y or z statement in Java

在我的程序中,我有一個名為yesOrNo的字符串,它是鍵盤輸入。 我使用||創建了一個if語句來測試yesOrNo是否為以下之一:“ Y”,“ y”,“ Yes”,“ yes” 操作員。

我收到錯誤消息:運算符|| 對於參數類型java.lang.String,java.lang.String未定義。 做這樣的事情的正確方法是什么? 謝謝。

    Scanner keyboard = new Scanner(System.in);
    String yesOrNo = keyboard.nextLine();
    System.out.println(yesOrNo + "?" );

    if (yesOrNo.equals("Y" || "y" || "Yes || "yes")){

我能想到的最短的是:

if (yesOrNo.equalsIgnoreCase("Y") || yesOrNo.equalsIgnoreCase("Yes"))

您的語法無效。 它需要有單獨的子句:

if(yesOrNo.equals("Y") || yesOrNo.equals("y")...)

或更清潔的將是如果您使用正則表達式:

if(yesOrNo.matches("Y|y|Yes|yes")) { 
    // Code.
}

額外閱讀

  • 您應該查看String Docs 他們詳細介紹了各種有用的東西。

  • Regex上閱讀。 它使復雜的String比較非常簡單。

  • 最后,查看不同的運算符,以了解可以使用正確的語法形成什么樣的邏輯語句。

兩種方式:

  1. 使用equals

     if (yesOrNo.equals("Y") || yesOrNo.equals("y") || yesOrNo.equals("Yes") || yesOrNo.equals("yes")) { //... } 
  2. 使用正則表達式(比多次使用||更短):

     if (yesOrNo.toLowerCase().matches("y|yes")) { //... } 

或者,您可以創建可接受答案的列表,然后檢查答案是否在該列表中。

List<String> kindOfYes = Arrays.asList("yes", "y", "okay", "righto");
if (kindOfYes.contains(yesOrNo.toLowerCase())) { ...

嘗試:

if(yesOrNo.equals("Y") || yesOrNo.equals("y") 
   || yesOrNo.equals("Yes") || yesOrNo.equals("yes"))

像這樣:

if (yesOrNo.equals("Y") || yesOrNo.equals("y") || yesOrNo.equals("Yes") || yesOrNo.equals("yes")){
    //...
}
if (yesOrNo.equals("Y") || yesOrNo.equals("y") || yesOrNo.equals("Yes")  || yesOrNo.equals("yes")) 

下一個代碼呢?

String yesOrNo = keyboard.nextLine();
if (yesOrNo.toLowerCase().charAt(0) == 'y') {
    //  
}

注意 :您認為有更快的方法嗎? 我想不是。

您的程序語法錯誤。

這是對的:

Scanner keyboard = new Scanner(System.in);
    String yesOrNo = keyboard.nextLine();
    System.out.println(yesOrNo + "?" );

    if(yesOrNo.equals("Y") || yesOrNo.equals("y") || yesOrNo.equals("Yes") || yesOrNo.equals("yes")) {

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM