2015-04-17 151 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個多月,所以我現在已經習慣了資本方法。 :) –