坚持从字符串输入创建if语句

时间:2016-07-22 10:11:19

标签: java jframe joptionpane

我正在尝试学习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);
 }
}

2 个答案:

答案 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);
  }