Java 坚持从字符串输入创建if语句
我正在尝试学习Java并想要它,因此您可以输入您的姓名,如果姓名输入与您的姓名匹配,它将打印Hello[您的姓名],我使用if语句执行此操作,如果是,则如果输入等于等于我的姓名的字符串,它将打印Hello加上输入。但是它不。。。else语句让我很困惑,因为我让它打印这两个值,看看它们是否在哪里相等,它们都在哪里。。。谢谢你的帮助Java 坚持从字符串输入创建if语句,java,jframe,joptionpane,Java,Jframe,Joptionpane,我正在尝试学习Java并想要它,因此您可以输入您的姓名,如果姓名输入与您的姓名匹配,它将打印Hello[您的姓名],我使用if语句执行此操作,如果是,则如果输入等于等于我的姓名的字符串,它将打印Hello加上输入。但是它不。。。else语句让我很困惑,因为我让它打印这两个值,看看它们是否在哪里相等,它们都在哪里。。。谢谢你的帮助 package AgeTester; import javax.swing.JFrame; import javax.swing.JOptionPane; publi
package AgeTester;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class HelpSystem {
public static void main(String args[]) {
String inp = "Jono";
JFrame frame = new JFrame("Input Dialogue");
String name = JOptionPane.showInputDialog(frame, "What is your name?");
if (inp == name) {
System.out.printf("Hello", name);
} else {
System.out.println(inp + name);
}
System.exit(0);
}
}
比较两个字符串时,应使用.equals(String)方法
请记住:
==
测试引用相等性(它们是否是相同的对象)。您没有使用equals()
方法,这是我们用来在Java中处理字符串的方法,而不是=
if (inp.equals(name)) {
System.out.printf("Hello", name);
} else {
System.out.println(inp + name);
}
使用
if
条件中的inp.equals(name)
,以及inp.equalsIgnoreCase(name)
忽略字母大小写。还有一个错误:在if块中,System.out.println
只接受一个参数。使用+
(或StringBuilder
)进行字符串连接。
if (inp.equals(name)) {
System.out.printf("Hello", name);
} else {
System.out.println(inp + name);
}