我有一个程序正在制作,当用户输入一种心情时,它将在此基础上输出报价。我需要告诉程序
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
。
处理字符串时,请始终使用.equals()
而不是==
。==
比较参考.equals()
值(通常不可靠),同时比较实际值。
将您的字符串转换为全部大写或全部小写也是一个好习惯。在本示例中,我将使用小写字母.toLowerCase()
。.equalsIgnoreCase()
也是解决所有案件问题的另一种快捷html" target="_blank">方法。
我还建议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概念,因此,我建议您更全面地阅读其中的一些概念。您可以在此处查看一些文档和/或其他问题:
问题内容: 在java中如何比较字符串,使用==还是equals 问题答案: == 测试引用是否相等(它们是否是同一对象)。 .equals() 测试值是否相等(在逻辑上是否为“相等”)。 String.contentEquals() 将的内容String与任何内容进行比较CharSequence(从Java 1.5开始可用)。 因此,如果要测试两个字符串是否具有相同的值,则可能要使用Object
问题内容: 到目前为止,我一直在程序中使用运算符比较所有字符串。但是,我遇到了一个错误,将其中一个更改为错误,并修复了该错误。 是==坏?什么时候应该使用它,不应该使用它?有什么不同? 问题答案: 测试引用是否相等(它们是否是同一对象)。 测试值是否相等(在逻辑上是否为“相等”)。 在调用之前进行检查,因此您不必(在JDK7起可用,在Guava中也可用)。 因此,如果要测试两个字符串是否具有相同的
问题内容: 我想检查一个char变量是否是21个特定char之一,我能做的最短方法是什么? 例如: 似乎没有用。我需要这样写吗: 问题答案: 如果您输入的是字符,并且您要检查的字符大部分是连续的,则可以尝试以下操作: 但是,如果您的输入是字符串,则更紧凑的方法(但更慢)是使用带有字符类的正则表达式: 如果您有字符,则首先需要将其转换为字符串,然后才能使用正则表达式:
问题内容: 我需要在Java字符串之间执行Diffs。我希望能够使用原始的string和diff版本重建字符串。有人用Java完成吗?你使用什么图书馆? 问题答案: 这个库似乎可以解决问题:google-diff-match-patch。它可以根据差异创建补丁字符串,并允许重新应用补丁。
我有一个由DB中称为Notes的对象填充的列表。对象的数量不同。我需要比较字符串变量,如果字符串相等,执行某个操作。如何完成这一点? 到目前为止,我的代码以NullPoInterExeption结尾:
主要内容:equals() 方法,equalsIgnoreCase() 方法,equals()与==的比较,compareTo() 方法字符串比较是常见的操作,包括比较相等、比较大小、比较前缀和后缀串等。 在 Java 中,比较字符串的常用方法有 3 个:equals() 方法、equalsIgnoreCase() 方法、 compareTo() 方法。下面详细介绍这 3 个方法的使用。 equals() 方法 equals() 方法将逐个地比较两个字符串的每个字符是否相同。如果两个字符串具有相