0

所以我一直在使用 .toLowerCase 时遇到问题,并且我查看了大量关于它如何工作的文章、视频和书籍。我尝试制作一个愚蠢的游戏作为我朋友的笑话,显然这不会奏效

修复它的最佳方法是什么以及我如何 .toLowerCase() 工作?如果能给出一个简单的解释,我会很高兴的!!:)

“选择”是一个静态字符串。

public static void part1()
        {
            System.out.println("Welcome to Chapter ONE ");
            System.out.println("This is just a simple Left Right options.");
            System.out.println("-------------------------");
            System.out.println("You emerge into a cave like structure, It's seems very weird and creeps you out a little, Yet, You continue on your journey \n You see a that you have reached a 'Dead End' and \n now you have two choices: Either go Left into the weird corner, Or Go Right.. Into the Well-Lit Area.");
            choice = input.next();
            if(choice.toLowerCase()=="left")
            {
                deathPre();
            }
            else if(choice.toLowerCase()=="right")
                {
                    TrFight();
                }
            }

所以这是它不起作用的部分(是的,具有讽刺意味的是,这是第一部分)我尝试了其他方法来完成这项工作。虽然这对我来说是最简单的事情突然变得不可能了。

请帮忙!

逻辑:如果用户输入“左”(无论哪种情况,因为我将其转换为小写)..它应该将用户发送到“deathPre();如果他输入“右”,它应该去“TrFight (); 其他任何事情都会导致我不介意的错误。但我需要“左”和“右”才​​能工作

4

3 回答 3

4

确保你比较字符串,.equals()你也可以使用

.equalsIgnoreCase("left")

如果您使用第二个,则不需要使用 '.toLowerCase()'

编辑:

就像埃里克说的你也可以使用

.trim().equalsIgnoreCase("left")
于 2013-04-11T19:34:57.427 回答
1

就像 Zim-Zam 已经评论过的那样,您需要使用 比较字符串equals,而不是==运算符:

if(choice.toLowerCase().equals("right"))
...
else if(choice.toLowerCase().equals("left"))

.toLowerCase()可能做得很好。

于 2013-04-11T19:34:40.163 回答
1

你需要试试这个:

public static void part1()
    {
        System.out.println("Welcome to Chapter ONE ");
        System.out.println("This is just a simple Left Right options.");
        System.out.println("-------------------------");
        System.out.println("You emerge into a cave like structure, It's seems very weird and creeps you out a little, Yet, You continue on your journey \n You see a that you have reached a 'Dead End' and \n now you have two choices: Either go Left into the weird corner, Or Go Right.. Into the Well-Lit Area.");
        choice = input.next();
        if(choice.toLowerCase().equals("left"))
        {
            deathPre();
        }
        else if(choice.toLowerCase().equals("right"))
            {
                TrFight();
            }

要比较两个字符串,请使用 String 对象中的 equals 方法。

于 2013-04-11T19:36:33.243 回答