2013-04-15 63 views
0

我被賦予一個任務來從以特定字母開頭的數組列表返回單詞,但我選​​擇了字母c;我被告知我可以以另一種方式做到這一點,除了專門返回以println開頭的每個元素之外的其他元素,除了使用ArrayList startswith方法外,我不知道除了使用ArrayList startswith方法以外還有其他方法,任何人都在照顧我?返回以特定字母開頭的單詞

public static ArrayList<String> letterC(ArrayList<String> list) 
{ 
    ArrayList<String> animals = new ArrayList<String>(); 
    ArrayList<String> letterC = new ArrayList<String>(); 
    String sweet = "c"; 
    animals.add("cape"); 
    animals.add("dog"); 
    animals.add("cougar"); 
    animals.add("moon"); 
    animals.add("conor"); 
    animals.add("bob"); 
    animals.add("tiger"); 
    animals.add("sun"); 
    for(int i = 0; i<animals.size(); i++) { 
     if(animals.get(i).startsWith(sweet.toUpperCase())) { 
      letterC.add(animals.get(i)); 
     } 
     if(animals.get(i).startsWith(sweet)) { 
      letterC.add(animals.get(i)); 
     } 
    } 
    if(letterC.size() >= 1) { 
     letterC.remove(1); 
     letterC.remove(letterC.size() - 1); 
    } 
    return letterC; 
} 

}

+3

'animals.get(index).charAt(0);' – Justin

+0

只有當這個大寫的C動物對不對? – qvd

+0

當你檢查'letterC.size()> = 1'時,我不明白你在做什麼。爲什麼你想從列表中刪除元素?看起來你應該在這一點上返回列表,因爲它將包含所有以「C」開頭的動物名稱。 – jahroy

回答

2

這應該爲你工作。

for(int i = 0; i<animals.size(); i++) { 
    if(animals.get(i).substring(0,1).equalsIgnoreCase(sweet)) { 
     letterC.add(animals.get(i)); 
    } 
+0

您應該編輯第一個if語句,因爲基本數據類型沒有方法。 ('char.equalsIgnoreCase') –

+0

感謝您的快速錯誤檢查。呼。我在寫完之後才意識到它。 – user2280897

+0

啊,是的!子!沒有想到這一點。 – qvd

相關問題