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 回答