2014-02-15 30 views
-3

因此,我写了一个代码,使用户输入名称“杰克”,但如果他输入任何其他名称,它会说“那不是你的名字!”但我很难做到这一点。例如,当我输入名称“杰克”时,它会说“那不是你的名字!”当我输入一个像乔伊这样的名字时,它会说同样的事情。Java字符串不工作,打印不同的名字

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

你读过我们文章?或者只是建立新的帐户? –

+1

@SotiriosDelimanolis那会是其中的一个修辞问题,是吗? –

+1

如果只有我们可以在人们收到BS代表发布答案之前更快地关闭它们。 –

回答

0

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

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

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

也要注意空指针异常 – spiderman

0

代替:

if(vYourName == "Jack") 

使用本:

if(vYourName.equals("Jack"))