如何在if / then语句中比较字符串和多个单词?我尝试了这个:
System.out.println("How would you describe your active lifestyle? Sedentary, Somewhat Active, or Active?");
String lifestyle = sc.next();
double activity;
if(lifestyle.equalsIgnoreCase("sedentary"))
{
activity = 0.2;
}
else if(lifestyle.equalsIgnoreCase("somewhat active"))
{
activity = 0.3;
}
else
{
activity = 0.5;
}
但是,当您输入“有点活跃”时,它将变量活动分配给0.5。如何获得注册“有点活跃”的东西?
最佳答案
next()
上的Scanner
方法检索下一个标记,默认情况下为空白。 lifestyle
变量仅包含"somewhat"
。
将对next()
的调用替换为对nextLine()
的调用,这将使所有单词都在线上。
关于java - 多个单词的字符串比较,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32486546/