Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 坚持从字符串输入创建if语句_Java_Jframe_Joptionpane - Fatal编程技术网

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

Java 坚持从字符串输入创建if语句,java,jframe,joptionpane,Java,Jframe,Joptionpane,我正在尝试学习Java并想要它,因此您可以输入您的姓名,如果姓名输入与您的姓名匹配,它将打印Hello[您的姓名],我使用if语句执行此操作,如果是,则如果输入等于等于我的姓名的字符串,它将打印Hello加上输入。但是它不。。。else语句让我很困惑,因为我让它打印这两个值,看看它们是否在哪里相等,它们都在哪里。。。谢谢你的帮助 package AgeTester; import javax.swing.JFrame; import javax.swing.JOptionPane; publi

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

比较两个字符串时,应使用.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);
  }