如何在这种特殊情况下使.toLowerCase工作..似乎根本不起作用

时间:2013-04-11 19:30:06

标签: java case-sensitive

所以我一直遇到.toL​​owerCase的问题,我已经检查了很多关于它是如何工作的文章,视频和书籍。我尝试将愚蠢的游戏作为朋友的笑话,显然这不会起作用

修复它的最佳方法是什么?我如何工作?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(); 任何其他原因导致错误,我不介意。但我需要“左”和“右”才​​能工作

3 个答案:

答案 0 :(得分:4)

确保将字符串与.equals()进行比较,您也可以使用

.equalsIgnoreCase("left")

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

编辑:

就像Erik说你也可以使用

.trim().equalsIgnoreCase("left")

答案 1 :(得分:1)

与Zim-Zam已评论相似,您需要使用equals而不是==运算符来比较字符串:

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

.toLowerCase()可能正常工作。

答案 2 :(得分: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方法。