小编典典

如何在Java中比较字符串

java

我有一个程序正在制作,当用户输入一种心情时,它将在此基础上输出报价。我需要告诉程序
if the user is happy, then output thistext问题是,我不知道如何使程序识别输入并基于该输出文本…这是到目前为止我所拥有的代码。

import java.util.Scanner;
public class modd {
    public static void main(String arrgs[]) {
        System.out.println("Enter your mood:");
        Scanner sc = new Scanner(System.in);
        String mood = sc.nextLine();

        if (sc = happy) {
            System.out.println("test");

            if (sc = sad) {
                System.out.println("I am sad");
            }
        }
    }
}

阅读 220

收藏
2020-11-26

共1个答案

小编典典

首先,看起来您正在处理错误的变量sc。我想你打算比较mood

处理字符串时,请始终使用.equals()而不是====比较参考.equals()值(通常不可靠),同时比较实际值。

将您的字符串转换为全部大写或全部小写也是一个好习惯。在本示例中,我将使用小写字母.toLowerCase().equalsIgnoreCase()也是解决所有案件问题的另一种快捷方法。

我还建议if-else-statement不要这样if-statement。您的代码如下所示:

mood=mood.toLowerCase()

if (mood.equals("happy")) {
    System.out.println("test");
}

else if (mood.equals("sad")) {
    System.out.println("I am sad");

}

这些都是非常基本的Java概念,因此,我建议您更全面地阅读其中的一些概念。您可以在此处查看一些文档和/或其他问题:

2020-11-26