我正在尝试学习Java并希望它输入您的名字,如果名称输入与您的名字匹配,它将打印Hello [您的名字],我使用if语句执行此操作,如果是,则输入如果输入是等于一个等于我姓名的字符串,它将打印hello加上输入。然而它没有... else语句让我感到困惑,因为我得到它来打印两个值,看看它们是否相等,它们都在哪里......帮助将不胜感激。
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);
}
}
答案 0 :(得分:2)
比较两个字符串时,应使用.equals(String)方法
if (inp.equals(name)) {
记住:==
测试引用相等性(它们是否是同一个对象)。
答案 1 :(得分:1)
您没有使用equals()
方法,而是我们用来拼凑Java中的字符串而不是==
。
if (inp.equals(name)) {
System.out.printf("Hello", name);
} else {
System.out.println(inp + name);
}