Java帮助(可能是eclipse中的一个小故障)

Java帮助(可能是eclipse中的一个小故障),java,string,equals,Java,String,Equals,它总是打印出错误的密码,即使输入的是相同的密码。我如何解决这个问题?是我做错了什么,还是我的eclipse出现了问题?您应该使用equals方法比较两个字符串,如: import java.util.Scanner; import java.util.Random; public class cominback{ public static void main(String args[]){ Scanner key = new Scanner(System.in);

它总是打印出错误的密码,即使输入的是相同的密码。我如何解决这个问题?是我做错了什么,还是我的eclipse出现了问题?

您应该使用
equals
方法比较两个字符串,如:

import java.util.Scanner;
import java.util.Random;



public class cominback{
    public static void main(String args[]){
      Scanner key = new Scanner(System.in);
      System.out.println(" please enter a password:");
      String x = key.nextLine();
      System.out.println("Connfirm your password:");
      String y = key.nextLine();
      if ( x == null)
          System.out.println("please restart the program:");
      if (x != y)
          System.out.println("wrong password");
      if (x == y )
          System.out.println("you are logged in");

    }
}

==
对照参考进行检查。使用
equals()
检查拖缆是否有意义地相等。使用以下代码段-f

if (x.equals(y))//password matches
注意:

if( x.equals(y) ){}
if( !(x.equals(y)) ){}
String str1 = "string one";
String str2 = str1;
String str3 = "string two";

System.out.println( str1.equals(str3) ); //false; meaningfully not equals.
System.out.println( str1 == str2 ); //true; referencing same String content
System.out.println( "string one".equals(str1) ); //true; meaningfully equals