我有一个程序正在制作,当用户输入一种心情时,它将在此基础上输出报价。我需要告诉程序 if the user is happy, then output thistext问题是,我不知道如何使程序识别输入并基于该输出文本…这是到目前为止我所拥有的代码。
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"); } } } }
首先,看起来您正在处理错误的变量sc。我想你打算比较mood。
sc
mood
处理字符串时,请始终使用.equals()而不是==。==比较参考.equals()值(通常不可靠),同时比较实际值。
.equals()
==
将您的字符串转换为全部大写或全部小写也是一个好习惯。在本示例中,我将使用小写字母.toLowerCase()。.equalsIgnoreCase()也是解决所有案件问题的另一种快捷方法。
.toLowerCase()
.equalsIgnoreCase()
我还建议if-else-statement不要这样if-statement。您的代码如下所示:
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概念,因此,我建议您更全面地阅读其中的一些概念。您可以在此处查看一些文档和/或其他问题: