需要帮助-Java If/Else
我对Java是相当陌生的,我的If/Else语句需要帮助。基本上,我想这样做,如果人们输入n或no做一件事,或者如果人们输入y或yes,做另一件事,如果人们没有输入n、no、yes或y,那么做另一件事。但无论用户输入什么,它都表现为他们没有输入n、no、yes或y。我怎样才能解决这个问题 这是我目前的代码:需要帮助-Java If/Else,java,if-statement,Java,If Statement,我对Java是相当陌生的,我的If/Else语句需要帮助。基本上,我想这样做,如果人们输入n或no做一件事,或者如果人们输入y或yes,做另一件事,如果人们没有输入n、no、yes或y,那么做另一件事。但无论用户输入什么,它都表现为他们没有输入n、no、yes或y。我怎样才能解决这个问题 这是我目前的代码: public class Main { public static void main (String[] args) { Scanner userInputScanner =
public class Main
{
public static void main (String[] args)
{
Scanner userInputScanner = new Scanner(System.in);
String [] charName = {"John", "Bob", "Sam"};
Random random = new Random();
int charNameChoice = random.nextInt(charName.length);
System.out.println("Random char selected: " + charName[charNameChoice]);
System.out.println("Y N Question1");
System.out.println("You can input y, yes, n or no");
String questionOneAnswer = userInputScanner.nextLine();
if (questionOneAnswer == "n" || questionOneAnswer == "no")
{
System.out.println("I disagree");
}
else if (questionOneAnswer == "y" || questionOneAnswer == "yes")
{
System.out.println("I agree");
}
else
{
System.out.println("Invalid");
}
}
}
您应该使用
equals
来比较字符串值,比如stringVar.equals(“某物”)
。
更好的是,将其反转为“something”.equals(stringVar)可以防止NullPointerException
=
比较指针,指针几乎从来都不相等(除非您比较的是字符串常量)。感谢您让我知道简而言之-=
比较的是对象引用,而不是对象本身的内容。您应该使用.equals()
来实现这一点。