2016-04-21 52 views
-1

@DavidMarciel現在代碼應該檢查某些條件爲真後,將接收到的值存儲在相應的變量中,但是當程序沒有進入主體即使條件成立,if條件也是如此。我在這段代碼中爲「男性」變量設置了一個例子,並在if的主體內放置了一個print語句來顯示它。以下是我的代碼。分割字符串數組後,數組元素的條件始終爲假

public class j { 
static String sss = "male,O+,45,saudi,brain_diseases"; 
static String male = ""; 
static String blood = ""; 
static String age = ""; 
static String nat = ""; 
static String dis = ""; 
static void func() { 
    String[] pieces = sss.split(","); 
    male = pieces[0]; 
    blood = pieces[1]; 
    age = pieces[2]; 
    nat = pieces[3]; 
    dis = pieces[4]; 

    System.out.println(male); 
    System.out.println(blood); 
    System.out.println(age); 
    System.out.println(nat); 
    System.out.println(dis); 
    // 
if(male=="male"){ 
System.out.println("hello male"); 
} 
} 

public static void main(String[] args) { 

    func();   
}} 
+0

問題主體中的'@ user'不會做任何事情。 – Savior

+0

這似乎是試圖回答對另一個問題的答案,即「[分別指定變量中存儲字符串數組](http://stackoverflow.com/questions/36747075/storing-array-of-strings-in - 指定變量-分別)」。 – dcsohl

回答

1

更換

if(male=="male"){ 

if (male.equals("male")) { 

操作==測試,以檢查兩個對象是相同的對象。在這種情況下,方法.equals檢查字符串的內容。

+1

這裏的適當操作是投票關閉作爲衆所周知的規範[如何比較Java中的字符串?]的副本(http://stackoverflow.com/questions/513832/how-do-i-compare-字符串在爪哇) – Savior

+0

當然,錯誤的答案是downvote正確的答案 –