2015-04-17 153 views
-5

所以我现在是Java的初学者,我一直在玩弄字符串。现在我想给用户一个选择输入和"Enter a or b: "给出了基于要么"a""b"输入字符串选择

代码中的输出:

int a = 18; 
int b = 22; 

Scanner user_input = new Scanner (System.in); 

String first_name; 
System.out.println("Enter your first name: "); 
first_name = user_input.next(); 

String last_name; 
System.out.println("Enter your last name: "); 
last_name = user_input.next(); 

String full_name; 
full_name = first_name + " " + last_name; 
System.out.println("You are: " + full_name); 

String age; 
System.out.println("Enter a or b: "); 
age = user_input.next(); 

String age_a; 
System.out.println("Your age is 18"); 
age = user_input(a); 

我也在想,也许功能可以使用,如:

if(user_input = a) 
{ 
    System.out.println("Your age is 18."); 
} 
+0

可能的重复[如何比较Java中的字符串?](http:// stackove rocket.com/questions/513832/how-do-i-compare-strings-in-java) –

+0

有史以来最重复的Java问题 –

+0

是的,如果你是一个完整的初学者,甚至不知道要搜索什么,它可能有点难以找到任何东西。在发布之前,我一直在寻找30分钟的解决方案。所以是的,-1投票给我想要学习.. –

回答

3

一旦你有age你必须检查的价值,但因为它是一个StringMUST使用String.equals()

if (age.equals("a")) 
    System.out.println("Your age is 18"); 
else 
    System.out.println("Your age is 22"); 

如果您要检查的答案是ONLYab使用while循环重复问题,直到答案是期望:

String age; 
while (!age.equals("a") || !age.equals("b")) { 
    // ask for age 
} 
+0

哦,age.equals真的是我的新东西。不知道你能做到这一点。它现在可以工作,但为什么我的'if'下划线并且显示“转换到开关”? –

+0

因为'switch(age)case“a”'有时候会更好,但这将会是下一步;) –

2

你可以,如果用"string".equals("other_string")使用以比较它们:

int a = 18; 
int b = 22; 

Scanner user_input = new Scanner (System.in); 

System.out.println("Enter your first name: "); 
String first_name = user_input.next(); 

System.out.println("Enter your last name: "); 
String last_name = user_input.next(); 

String full_name = first_name + " " + last_name; 
System.out.println("You are: " + full_name); 

System.out.println("Enter a or b: "); 
String ageChoice = user_input.next(); 

String age = null; 
if(ageChoice.equals("a")){ 
    age = String.valueOf(a); 
} 
else if(ageChoice.equals("b")){ 
    age = String.valueOf(b); 
} 
System.out.println("Your age is: " + age); 
+1

为什么你要大写'equals()'和'valueOf()'? –

+0

@SashaSalauyou编辑。目前在.NET项目上工作了6个多月,所以我现在已经习惯了资本方法。 :) –