Ne znam kakve veze naslov ima sa temom ali ajde i pre bi bio rekao da je neki domaci nego da zaista zelis nauciti javu cim trazim kompletno resenje , a ne deo gde je zapelo ili nesto konkretno da pitas ako si uopste pokusao resiti ali opet ajde. Posto i ja ucim javu ovo mi dodje kao malo vezbanja ,ALI ovo sto sam uradio uzmi sa rezervom jer mozda je moguce mnogo jednostavnije i pravilnije uraditi ali evo kako sam ja to uradio kao pocetnik....
cist kod bez mnogo objasnjenja sta kako radi, posto nisi trazio objasnjenje vec samo kod ....
prva Klasa:
Code:
import java.util.Scanner;
public class Porodica implements Comparable<Porodica> {
private String ime;
static String prezime;
private int brGodina;
Scanner sc=new Scanner(System.in);
public Porodica( String i, String p, int brg){
this.ime=i;
this.prezime=p;
this.brGodina=brg;
}
public Porodica(){
}
public int compareTo(Porodica p){
int rez = Integer.compare(p.brGodina, brGodina);
if(rez != 0)
return rez;
rez = prezime.compareTo(p.prezime);
if(rez != 0)
return rez;
return ime.compareTo(p.ime);
}
@Override
public boolean equals(Object obj) {
if(this == obj)
return true;
if(!(obj instanceof Porodica))
return false;
return compareTo((Porodica)obj) == 0;
}
public Porodica unesiClana(){
Porodica p;
System.out.println("Unesite ime:");
this.ime=sc.next();
System.out.println("Unesi prezime:");
this.prezime=sc.next();
System.out.println("Koliko godina ima: ");
this.brGodina=sc.nextInt();
return p=new Porodica(ime,prezime,brGodina);
}
public String toString(){
return "Ime: "+ime+" , Prezime: "+prezime+" , Broj Godina: "+brGodina;
}
}
Druga klasa - main:
Code:
package Porodica;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;
public class PorodicaTest {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
Porodica p=new Porodica();
System.out.println("Koliko clanova porodice zelite uneti?");
int x=sc.nextInt();
Porodica[] moja=new Porodica[x];
//unos clanova niza
for(int i=0;i<x;i++){
moja[i]=p.unesiClana();
}
//prebacivanje niza u listu i sortitanje,
//nisam znao kako bi u nizu sortirao po godinama pa sam prebacio u listu
ArrayList<Porodica>porodi=new ArrayList(Arrays.asList(moja));
Collections.sort(porodi);
//ispis sortiranog niza
for(Porodica por:porodi){
System.out.println(por);
}
}
}