Java String无法正常工作,打印不同的名称

时间:2014-02-15 05:10:42

标签: java string

所以我写了一个代码,让用户输入名字“杰克”,但如果他输入任何其他名称,它会说“那不是你的名字!”但我很难做到这一点。例如,当我输入“Jack”这个名字时,它会说“那不是你的名字!”当我输入像乔伊这样的名字时,它会说同样的事情。

import java.util.Scanner;

public class WhoAreYou
{
  public static void main(String[] args){

    Scanner user_input = new Scanner(System.in);

    String vYourName, vNotYourName;
    System.out.print("Enter your name here: ");
    vYourName = user_input.next();

    /*
    String vNotYourName;
    System.out.print("Enter your name here: ");
    vNotYourName = user_input.next();
    */

    if(vYourName == "Jack")
    System.out.println("Your name is: "+vYourName);

    else{
      vNotYourName = " ";
      System.out.println("Thats not your name!");
    }
  }
}

相反,如果使用两个字符串,我试图使用一个,但这不起作用。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

比较字符串时使用.equals()

    if(vYourName.equals("Jack"))
    System.out.println("Your name is: "+vYourName);

    else{
      "".equals(vYourName);
      System.out.println("Thats not your name!");
    }

答案 1 :(得分:0)

而不是:

if(vYourName == "Jack")

使用它:

if(vYourName.equals("Jack"))