****Automobil klasa**** import java.util.*; public class Automobil implements Comparable { //atributi private String proizvodjac, model; private int snagauKw; private double zapreminaRezervoara, potrosnja, trenGoriva, kilometraza; private Date registrovanoDo; public static int TYPE_SORT = 0; //konstruktori public Automobil() { this.proizvodjac = "N.N"; this.model = "N.N"; this.snagauKw = 0; this.zapreminaRezervoara = 0; this.potrosnja = 0; this.trenGoriva = 0; this.registrovanoDo = null; this.kilometraza = 0; } public double getKilometraza() { return kilometraza; } public void setKilometraza(double kilometraza) { this.kilometraza = kilometraza; } public Automobil(String proizvodjac1, String model1, int snagauKW1, double zapreminaRezervoara1, double potrosnja1, Date registrovanoDo1, double kilometraza1) { this.proizvodjac = proizvodjac1; this.model = model1; this.snagauKw = snagauKW1; this.potrosnja = potrosnja1; this.zapreminaRezervoara = zapreminaRezervoara1; this.trenGoriva = zapreminaRezervoara; this.registrovanoDo = registrovanoDo1; this.kilometraza = kilometraza1; } //get i set metode public String getProizvodjac() { return proizvodjac; } public void setProizvodjac(String proizvodjac) { this.proizvodjac = proizvodjac; } public String getModel() { return model; } public void setModel(String model) { this.model = model; } public int getSnagauKw() { return snagauKw; } public void setSnagauKw(int snagauKw) { this.snagauKw = snagauKw; } public double getZapreminaRezervoara() { return zapreminaRezervoara; } public void setZapreminaRezervoara(double zapreminaRezervoara) { this.zapreminaRezervoara = zapreminaRezervoara; } public double getPotrosnja() { return potrosnja; } public void setPotrosnja(double potrosnja) { this.potrosnja = potrosnja; } public double getTrenGoriva() { return trenGoriva; } public void setTrenGoriva(double trenGoriva) { this.trenGoriva = trenGoriva; } public Date getRegistrovanoDo() { return registrovanoDo; } public void setRegistrovanoDo(Date registrovanoDo) { this.registrovanoDo = registrovanoDo; } public String toString() { return "Auto: \n\t"+proizvodjac+"\n\t"+model+"\n\t"+snagauKw+" kw\n\t"+potrosnja+"\n\t"+zapreminaRezervoara+" litar(a) ("+trenGoriva+" litar(a)) \n\t"+kilometraza+" km\n\t"+registrovanoDo; } public void toci(double l) { if((this.trenGoriva + l)>(this.zapreminaRezervoara)) { this.trenGoriva = this.zapreminaRezervoara; } else { this.trenGoriva += l; } } public void predji(double p) { double potGoriva = (p * potrosnja)/100; if (potGoriva > trenGoriva) { System.out.println("Nemate dovoljno goriva u rezervoaru za ovaj put/"); System.out.println("("+potGoriva+"/"+trenGoriva+")"); } else { System.out.println("Mozete krenuti na put."); trenGoriva -= potGoriva; kilometraza += p; } } public void produziRegistraciju() { Date tren = new Date(); if(tren.before(this.registrovanoDo)) { System.out.println("Vasa registracija je istekla."); this.registrovanoDo.setYear(tren.getYear()+1); } else { this.registrovanoDo.setYear(this.registrovanoDo.getYear()+1); } } public int compareTo(Object a2) { //parametar za poredjenje if(!(a2 instanceof Automobil)) return 0; switch(TYPE_SORT) { case 0: { double k = ((Automobil)a2).getKilometraza(); if(this.getKilometraza() > k) { return 1; } else if (this.getKilometraza() < k) { return -1; } else { return 0; } } case 1: return this.getModel().compareTo(((Automobil)a2).getModel()); case 2: return this.getRegistrovanoDo().compareTo(((Automobil)a2).registrovanoDo); } //poredjenje za double ili int return snagauKw; //poredjenje ako je atribut tipa String // //ako je atribut poredjenja tipa Date // } } ****testAuto klasa**** import java.util.*; public class testAuto { public static void main(String[] args) { Automobil a1 = new Automobil(); //System.out.println("a1 = "+a1); Date danas = new Date(); //System.out.println("Danas je: "+danas);//trenutno vrijeme, uzima sa racunara Date regDo = new Date(2015-1900, 12-1, 29); //System.out.println("Datum: "+regDo); //System.out.println("Datun(2): "+regDo.getDate()+". "+(regDo.getMonth()+1)+". "+(regDo.getYear()+1900)+"."); Automobil a2 = new Automobil("SEAT", "Ibiza", 74, 50, 8, regDo, 100); //System.out.println("Auto 2: "+a2); a2.predji(50); a2.predji(50); a2.produziRegistraciju(); //System.out.println("Auto 2: "+a2); Automobil a3 = new Automobil("AUDI", "A3", 96, 55, 9, regDo, 350000); Automobil a4 = new Automobil("OPEL", "Astra", 51, 45, 6, regDo, 100000); Automobil a5 = new Automobil("BWM", "520d", 81, 60, 10, regDo, 230000); Automobil a6 = new Automobil("VW", "Golf 2", 60, 50, 4, regDo, 500000); Automobil nizAuto[] = {a2, a3, a4, a5, a6}; Vector vektorAuto = new Vector(); vektorAuto.add(a2); vektorAuto.add(a3); vektorAuto.add(a4); vektorAuto.add(a5); vektorAuto.add(a6); Arrays.sort(nizAuto); Collections.sort(vektorAuto); Automobil.TYPE_SORT = 0; System.out.println("NIZ AUTA ------------------------------"); for(int i = 0; i