如何在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/

10-12 04:08