所以我一直遇到.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(); 任何其他原因导致错误,我不介意。但我需要“左”和“右”才能工作
答案 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方法。