-3

私はJavaを学んでいるので、これはおそらく本当にばかげた質問ですが、十分に単純な答えが見つかりません。ユーザーが「男性」と入力して System.out.print("You are a guy"); を実行すると、プログラムを作成しようとしています。
これが私のコードです:

    import java.util.Scanner;

public class clac {
    public static void main(String[] args){
        double gender;
        Scanner input = new Scanner(System.in);
        System.out.print("Are you male or female? ");
        gender = input.nextDouble();
        if (gender == "male"){
            System.out.println("You are a guy");
        }else{
            System.out.print("You are a gal.");
        }
    }
}
4

5 に答える 5

5

あなたが間違っていること: 文字列を読み取る必要があります。文字列はテキストです。double は 10 進数です。あなたはダブルを読んでいます。

それを解決する方法:

String gender = input.next(); // read a String, instead of double
if (gender.equals("male")) // if (gender == "male") use .equals for strings
{
    System.out.println("U mad bro!?");
} else
{
    System.out.println("Hey Doll!");
}
于 2013-01-18T21:45:11.603 に答える
0

スキャナーには.next()メソッドを使用したいと思います。次のようなものを試してください。

java.util.Scannerをインポートします。

パブリッククラスclac{
    public static void main(String [] args){
        //性別変数を文字列として定義します。これは、入力として期待しているものだからです。
        文字列の性別;
        //Scannerオブジェクトをインスタンス化します
        スキャナー入力=新しいスキャナー(System.in);
        //ユーザーに質問する
        System.out.print( "あなたは男性ですか、それとも女性ですか?");
        //応答をgender変数に読み込みます
        性別=input.next();
        //ユーザーの回答が「男性」と一致するかどうかを確認します
        //ユーザーがnull値を返す場合に備えて、「男性」を最初に配置します
        //これは致命的なエラーを回避するのに役立ちます
        if( "male" .equals(gender)){
            System.out.println( "あなたは男です");
        }
        そうしないと {
            System.out.print( "あなたはギャルです。");
        }
    }
}

これがお役に立てば幸いです。

于 2013-01-18T21:55:55.460 に答える
0

試す

  String gender = input.nextString();
    if ("male".equals(gender)){
        System.out.println("Wazzup dude?");
    }else{
        System.out.print("Hey Doll!");
    }
于 2013-01-18T21:46:33.450 に答える
0

nextDouble()小数を参照する を使用しないでください。

于 2013-01-18T21:45:03.567 に答える