0

こんにちは、特定のキーが押されたときに Java コンソールが何かを行うコードがあります。システムはキーを文字列として入力して保存するので問題なく、印刷して動作を確認できます。ただし、コードは条件ステートメントに入ることはなく、代わりに毎回 else にジャンプします。コードは次のとおりです。

Scanner MenuChoice = new Scanner(System.in);
    Products.MenuCode = MenuChoice.next();


                if(Products.MenuCode=="F")
                {
                //Run subprogram for finding a product.
                Find.main();    

                }

                else{
                System.out.println("F - Find a Product");
                 System.out.println("p - Purchase a Product");
                  System.out.println("Q - Quit");
                  Scanner MenuChoice2 = new Scanner(System.in);
                  Products.MenuCode = MenuChoice2.next();
                };

何がうまくいかないのですか?

4

2 に答える 2

3

あなたはこれを行うことができます

Scanner MenuChoice = new Scanner(System.in);
Products.MenuCode = MenuChoice.next();


            if(Products.MenuCode.equals("F")) // use equals method 
            {
            //Run subprogram for finding a product.
            Find.main();    

            }

            else{
            System.out.println("F - Find a Product");
             System.out.println("p - Purchase a Product");
              System.out.println("Q - Quit");
              Scanner MenuChoice2 = new Scanner(System.in);
              Products.MenuCode = MenuChoice2.next();
            };
于 2012-08-27T13:24:16.357 に答える
0

== を使用して文字列を比較することはできません。equals メソッドを使用する必要があります。

equals メソッドは次のように機能します。

boolean b = string1.equals(string2);
于 2012-08-27T13:26:37.923 に答える