我正在寫一個叫做HighSchool的類,它有一個名爲大學的絃樂陣列。我的目標是創建一個名爲addCollege(String c)的方法,該方法接受字符串,檢查列表,然後只要字符串已經不在列表中,就按正確的字母順序排列。這是迄今爲止我所做的,但它只是列表的第一部分。我也試圖做這個沒有collections.sort。將字符串添加到arraylist按順序
public void addCollege(String c){
String s="";
for(int i=0; i<=universities.size()-1; i++){
if(c.equals(universities.get(i)))
return;
}
universities.add(c);
for(int p=1; p<=universities.size()-1; p++)
if(universities.get(p-1).compareTo(universities.get(p))>0){
s=universities.get(p);
universities.set(p, universities.get(p-1));
universities.set(p-1, s);
}
}
這是測試儀的內容。大部分是不相關的我的問題:
public class schoolTester {
public static void main(String[] args) {
School s=new School(1000, "600 Pine Lane", "Pines School", "Bob Smith");
int[] x={4,4,4,4,4,4};
Elementary e=new Elementary(2000, "601 Pine Lane", "Everglades", "Bobby Smith", x);
ArrayList<String>uni=new ArrayList<String>();
uni.add("Harvard");
uni.add("MIT");
uni.add("Georgia Tech");
uni.add("UCF");
HighSchool h=new HighSchool(4000, "602 Pine Lane", "hi-school", "bob smith", uni);
h.addCollege("Berkely");
h.addCollege("Miami");
h.addCollege("FSU");
h.addCollege("FGCU");
System.out.println(h.getColleges());
h.addCollege("FSU");
System.out.println(h.getColleges());
}
}
我假設這是學校,排除List.Contains()以及? 有一件事我會開始 - 比較名稱時,添加一個toUpper()兩個 - 或equalsIgnoreCase(),以防萬一他們在不同情況下進來 – Neverwork2123 2015-02-10 04:51:51
好主意。我注意到java在處理不同情況時可能會感到困惑。 – jeff98 2015-02-10 05:03:12
而不工作的原因是,你試圖通過陣列只使用一個掃描排序 假設你不想遞歸做它,添加一段時間 flag = 1; while(flag == 1){ 您的排序循環在這裏 如果更改設置標誌爲1,否則爲0} – Neverwork2123 2015-02-10 05:05:10