From: Doni Pracner Date: Tue, 7 May 2019 22:47:24 +0000 (+0200) Subject: Opsti tipovi - bolji primer Par X-Git-Url: https://svarog.pmf.uns.ac.rs/gitweb/?a=commitdiff_plain;h=b1989bdae06447d85203de6d836dff538d4d739a;p=spa1-materijali.git Opsti tipovi - bolji primer Par --- diff --git a/kodovi/skup/OpstiTipoviPrimeri.java b/kodovi/skup/OpstiTipoviPrimeri.java index 26e96d3..4a812ae 100644 --- a/kodovi/skup/OpstiTipoviPrimeri.java +++ b/kodovi/skup/OpstiTipoviPrimeri.java @@ -1,32 +1,76 @@ -class Cuvar { - T info; - - public String toString(){ - return "Cuvam:" + info; +public class OpstiTipoviPrimeri { + + public static void main(String[] args) { + Par pstr = new Par("a", "b"); + System.out.println(pstr); + Par kop = pstr.kopija(); + kop.zameni(); + System.out.println(kop); + + Par dd = new Par<>(2.0, 2.0); + System.out.println( + "u ovom paru su isti brojevi:" + dd.jednakiPrviIDrugi()); + + Par pint = new Par(2, 8); + System.out.println(pint); + + Par intovi = new Par(); + intovi.prviel = 2; + intovi.drugiel = 8; + + System.out.println("jednaki su:" + pint.jednakSaParom(intovi)); } - - public Cuvar(){ - info = null; +} + +class Par { + // tip za polja je zadat parametrom uz ime klase + T prviel, drugiel; + + public Par(T podatak1, T podatak2) { + this.prviel = podatak1; + this.drugiel = podatak2; } - - public Cuvar(T podatak){ - this.info = podatak; + + public Par() { + this.prviel = null; + this.drugiel = null; } -} + public String toString() { + return "Par (" + prviel + ", " + drugiel + ")"; + } -public class OpstiTipoviPrimeri { + public boolean jednakiPrviIDrugi() { + if (prviel == null) + return drugiel == null; + else + return prviel.equals(drugiel); + } - public static void main(String[] args) { - Cuvar st = new Cuvar(); - st.info = "neki string"; - System.out.println(st); - - Cuvar broj = new Cuvar(); - broj.info = 5; - System.out.println(broj); - - Cuvar realan = new Cuvar(5.0); - System.out.println(realan); + public void zameni() { + T pom = prviel; + prviel = drugiel; + drugiel = prviel; + } + + public Par kopija() { + return new Par(prviel, drugiel); + } + + public boolean jednakSaParom(Par par2) { + if (par2 == null) + return false; + // moramo proveravati da li su null elementi, pa ima vise mogucnosti + if ((prviel == null) != (par2.prviel == null)) + return false; + if (prviel != null && !prviel.equals(par2.prviel)) + return false; + if ((drugiel == null) != (par2.drugiel == null)) + return false; + if (drugiel != null && !drugiel.equals(par2.drugiel)) + return false; + + // nismo nasli razliku + return true; } }