0

重複の可能性:
Java で文字列を比較するにはどうすればよいですか?

はい、タイトルがおかしく聞こえます。私は特別な人のためにこのプロジェクトに取り組んでおり、簡単なプログラムを書いて彼女に尋ねたいと思っています。このアイデアの実行には問題があります。疑似コードのような計画を考えていますが、それを実行するには助けが必要です。私は、彼女の入力をコンソールの質問に「はい」または「いいえ」で入力してもらい、プログラムに彼女の入力に基づいて回答を返すようにすることを計画していました。私のアイデアは、質問に対する彼女の入力はいまたはいいえの答えでした。次に、入力が「はい」の場合はこのステートメントを印刷し、「いいえ」の場合はこのステートメントを印刷します。現在、if else 部分を機能させるのに問題があります。if ステートメントで文字列をブール値のように振る舞わせることはできないので、それについては助けが必要です。私が始めたコード:

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!");

    }
}

明らかに、私は実際にその質問を使用していません. 1つはブール値で、もう1つは文字列であるため、答えを希望と比較することはできません。また、文字列と文字列を組み合わせることもできません。何か案は?編集:皆さん、ただ言うだけです、私は彼女がイエスと言うのを知っています、これは彼女に尋ねる面白いばかげた方法です. これをしている間、私は彼女と一緒にそこにいて、これが機能するように「はい」または「いいえ」だけを使用するように彼女に伝えます。これは小さな単純なプロジェクトです。これを機能させる方法以外のアドバイスや意見は必要ありません。ありがとう!

4

4 に答える 4

3

string.equals() を使用して文字列を比較できます。例: "Yes".equals(answer) は、yes と変数 answer を比較します。

于 2013-01-13T06:24:31.803 に答える
2

文字列比較メソッドequalsまたはequalsIgnoreCaseを使用して、ユーザー入力を比較できます。

これを試して

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などを入力できるため、大文字と小文字は無視されます。

于 2013-01-13T06:29:56.913 に答える
1

switch ステートメントを調査します:チュートリアルの情報

次に、「はい」と「いいえ」だけでなく、「多分」、「今すぐではない」などの選択肢を可能な回答として投入できます。

于 2013-01-13T06:28:56.887 に答える
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");
         }


         } } }
于 2013-01-13T06:36:07.727 に答える