From: Doni Pracner Date: Sun, 8 Nov 2015 14:01:22 +0000 (+0100) Subject: Hash, poredjenja, null polja i komentari X-Git-Url: http://svarog.pmf.uns.ac.rs/gitweb/?p=spa2-materijali.git;a=commitdiff_plain;h=6695dea48378f976cedc0209ccf249ab97a098f8 Hash, poredjenja, null polja i komentari --- diff --git a/Hash/Gadjanje.java b/Hash/Gadjanje.java index 549fe0d..364c495 100644 --- a/Hash/Gadjanje.java +++ b/Hash/Gadjanje.java @@ -44,14 +44,23 @@ public class Gadjanje extends InfoTip { } Gadjanje o2 = (Gadjanje) o; - if (o2.rezultati.length == rezultati.length) { - for (int i = 0; i < rezultati.length; i++) { - if (o2.rezultati[i] != rezultati[i]) - return false; + // proveravamo da li je polje null pre dalje provere + if (rezultati != null && o2.rezultati != null) { + if (o2.rezultati.length == rezultati.length) { + for (int i = 0; i < rezultati.length; i++) { + if (o2.rezultati[i] != rezultati[i]){ + // cim je nesto razlicito nisu isti + return false; + } + } + // ako se sve vrednosti slazu isti su + return true; } - return true; + return false; + } else { + // vracamo da li su oba null, tj da li su jednaki + return (rezultati == null && o2.rezultati == null); } - return false; } @Override @@ -81,4 +90,5 @@ public class Gadjanje extends InfoTip { } return str; } + } diff --git a/Hash/XO.java b/Hash/XO.java index 38be212..ef94eea 100644 --- a/Hash/XO.java +++ b/Hash/XO.java @@ -2,7 +2,7 @@ import org.svetovid.io.SvetovidReader; /** * Igra XO - * + * * Prosiruje InfoTip samo zbog jednostavnosti u TestHash, nema razloga inace. */ public class XO extends InfoTip { @@ -36,7 +36,11 @@ public class XO extends InfoTip { if (getClass() != o.getClass()) { return false; } + + // menjamo tip da mozemo da poredimo XO o2 = (XO) o; + // posto je u ovoj klasi uvek inicijalizovano polje table + // i uvek je DIM x DIM ne moramo proveravati null for (int i = 0; i < DIM; i++) { for (int j = 0; j < DIM; j++) { if (o2.tabla[i][j] != tabla[i][j]) {