输入特定密钥时输入循环 - Java

时间:2012-08-27 13:21:13

标签: java

您好我有一些代码可以让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();
                };

出了什么问题?

2 个答案:

答案 0 :(得分: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();
            };

答案 1 :(得分:0)

你不能使用==比较字符串你必须使用等于方法。

equals方法的工作原理如下:

boolean b = string1.equals(string2);