Carクラスのインスタンスを、plateまたはyearの昇順によって並べ替えたいのですが、上手くいきません。コンパイルエラーは起きていないのですが、何が原因でしょうか?よろしくお願いします。
Java
1public class Car{ 2 3 ArrayList<Car> list; 4 String plate, brand; 5 int year; 6 7 8 Car(){ 9 list = new ArrayList<Car>(); 10 plate = null; 11 brand = null; 12 year = 0; 13 } 14 15 Car(String sp, String sp2, int sp3){ 16 this.plate = sp; 17 this.brand = sp2; 18 this.year = sp3; 19 } 20 21 public void add(String[] sp) { 22 int year = Integer.parseInt(sp[3]); 23 list.add(new Car(sp[1], sp[2], year)); 24 } 25 26 27 public void list() { 28 for(int i = 0; i < list.size(); i++) { 29 System.out.println(list.get(i)); 30 } 31 } 32 33 public void listPlate() { 34 Collections.sort(list, new PlateComparator()); 35 for(int i = 0; i < list.size(); i++) { 36 System.out.println(list.get(i)); 37 } 38 } 39 40 41 public void listYear() { 42 Collections.sort(list, new YearComparator()); 43 for(int i = 0; i < list.size(); i++) { 44 System.out.println(list.get(i)); 45 } 46 } 47 48 public String toString() { 49 return this.plate + " " + this.brand + " " + this.year; 50 } 51} 52 53public class PlateComparator implements Comparator<Car> { 54 55 @Override 56 public int compare(Car a, Car b) { 57 return a.plate.compareTo(b.plate); 58 } 59} 60 61public class YearComparator implements Comparator<Car>{ 62 63 @Override 64 public int compare(Car a, Car b) { 65 return a.year - b.year; 66 } 67} 68 69public class Main { 70 public static void main(String[] args) throws IOException { 71 72 Car c = new Car(); 73 74 while(true) { 75 76 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 77 String s = br.readLine(); 78 79 String[] sp = s.split(" "); 80 81 if(sp[0].equals("add")) 82 c.add(sp); 83 84 else if(sp[0].equals("list")) 85 c.list(); 86 87 else if(sp[0].equals("list") && sp[1].equals("plate")) 88 c.listPlate(); 89 90 else if(sp[0].equals("list") && sp[1].equals("year")) 91 c.listYear(); 92 93 94 else 95 System.out.println("無効なコマンドです。"); 96 97 } 98 } 99} 100 101
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/10/03 17:37 編集
退会済みユーザー
2017/10/03 17:37
退会済みユーザー
2017/10/03 18:04 編集
2017/10/03 18:56