2013-01-13 24 views
0

可能重複:
How do I compare strings in Java?的Java的if/else與比較字符串

是標題聽起來很可笑,我在做這個項目的一個特別的人,我想問問她寫了一個簡單的程序。儘管執行這個想法,但我遇到了一些麻煩。我腦海中有一個僞代碼ish計劃,但需要幫助執行它。我打算讓她在控制檯中輸入是或否回答問題,並根據她的輸入回答問題的答案。我的想法是她的輸入是或否回答問題,然後說出如果輸入是「是」然後打印此語句,否則如果「否」打印此語句。我目前遇到問題,如果其他部分工作。我不能讓字符串在布爾表達式中扮演布爾的角色,所以我需要一些幫助。代碼我開始與:

import java.io.*; 
public class ask { 
    public static void main(String [] args) throws IOException { 
     BufferedReader in = new BufferedReader 
       (new InputStreamReader(System.in)); 
     String answer; 
     System.out.print("Would you like to go out with me? "); 
     System.out.flush(); 
     answer = in.readLine(); 
     Boolean hope = Boolean.valueOf("yes"); 
     if (answer == hope) { 
      System.out.print("Awesome!"); 
     } 

     else 
      System.out.print("Not awesome!"); 

    } 
} 

顯然我不是實際使用問題的答覆,我只是把它作爲例子只是爲了讓程序本身的工作。我無法比較希望的答案,因爲一個是布爾型的,另一個是字符串,我也不能用字符串做字符串,所以我如何得到這個工作。有任何想法嗎? 編輯:夥計們只是說,我知道她會說是,這只是一個有趣的愚蠢的方式來問她。這樣做的時候,我會和她在一起,並且我會告訴她只是使用yes或no,這樣才能工作,它只是一個簡單的小項目。除了如何讓這個工作成功,不需要任何建議或意見!謝謝!

+11

忠告替換數組值。別。她很可能會認爲你很奇怪/一個蠕變。親自問她​​。 –

+0

這有什麼幫助嗎?我需要它來檢查輸入是yes或no – user12074577

+0

我認爲你應該在回覆的時候聽取她鍵入的鍵[不僅僅是最終輸入],而且還考慮 –

回答

2

你可以使用string.equals()來比較字符串 E.g. 「是」 .equals(回答)是用於比較和可變答案

+0

謝謝了! – user12074577

1

調查switch語句:信息從tutorial

然後就可以像「也許」選項扔,「不是現在」,等等作爲可能的迴應,除了僅僅是的&沒有。

+1

來自該教程頁面:'它也適用於枚舉類型(在枚舉類型中討論),** String類**以及幾個包裝某些原語的特殊類...'。我不知道OP是指老java – mcalex

+0

注意:這隻適用於Java 1.7+ –

2

您可以使用字符串比較方法equalsequalsIgnoreCase來比較用戶輸入。

試試這個

public static void main(String[] args) throws IOException { 
     BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); 
     String answer; 
     System.out.print("Would you like to go out with me? "); 
     System.out.flush(); 
     answer = in.readLine(); 

     if (answer.equalsIgnoreCase("YES")) { // Comparing the input with String. 
      System.out.print("Awesome!"); 
     } 

     else 
      System.out.print("Not awesome!"); 

    } 

我建議你使用equalsIgnoreCase方法。由於用戶可以輸入yes,YES,yeS等,它只是忽略了這種情況。

0

在這裏你去:只要用您的具體問題

import java.io.*; 
import java.util.Scanner; 
public class ask { 
public static void main(String [] args) throws IOException { 

    String[] Questions={"2","3","4","5","6","7","8","9","10","J","Q","K","A"}; 

    int min=0; 
    int max=Questions.length; 
    String answer = null; 
    Scanner input = new Scanner(System.in); 
    for(int i=0;i<Questions.length;i++){ 
     int randomNum = min + (int)(Math.random()* max); 

     System.out.println("Your Question: " +Questions[randomNum]); 
     answer =input.next(); 
     if (answer.equals("yes")){ 
      System.out.println("Awesome Girl"); 
     } 
     if (answer.equals("no")){ 
      System.out.println("Bad Girl"); 
     } 

     if (answer.equals("Hope")){ 
      System.out.println("Hmmm..Some Hope Left"); 
     } 


     } } }