[ XeOn @ 23.05.2010. 12:31 ] @
Pozdrav! Unaprijed se izvinjavam zbog dugog pitanja. Imam problem sa Javom i ako neko moze da mi pojasni/pokaze primjer kako da uradim, bilo bi super. Imam sledece klase: Main.java Klub.java Clan.java SponsorClan.java je podklasa Clan.java RegularniClan.java je podklasa Clan.java DozivotniClan.java je podklasa SponsorClan.java Clan.java ima sledece atribute: clanskiBroj, ime, adresa RegularniClan.java ima sledece atribute: godisnjaClanarina=100, uclanjenje=20 SponsorClan.java ima sledece atribute: godisnjaClanarina=5, ali nema uclanjenje DozivotniClan.java ima sledece atribute: uclanjenje= 3x godisnjaClanarina u RegularniClan.java i nema godisnjuClanarinu RegularniClan se razlikuje od SponsorClan po tome sto ima pet razlicitih bodova, koji daju odredjene privilegije (nije bitno sta i kako za ovaj dio) U sustini ja treba da dodam razlicite clanove u Klub i onda da ih upisem u fajl sa PrintWriter ili da ih procitam sa Scanner. Problem je sto clanovi imaju razlicite atribute npr. Regularni clan ima pet razlicitih bodova, a Sponsor clan nema. Ne mogu da citam fajl koji izgleda ovako: 1234 Ime1 Adresa1 bod1 bod2 bod3 bod4 bod5 5678 Ime2 Adresa2 Da li je pravilno da imam upisiClan metod u svakoj klasi za svakog clana posebno ili da to radim iz Klub klase? I ne znam kako da dodam te bodove za RegularniClan. Mozda je moja logika/postavka pogresna nemam pojma, ali nikako ne mogu da rijesim. Ovako izgleda kod: Clan Code: public class Clan { private int clanskiBroj; private String ime; private String adresa; public Clan(int mClanskiBroj, String mIme, String mAdresa) { clanskiBroj = mClanskiBroj; ime = mIme; adresa = mAdresa; } public void setIme(String tIme) { ime = tIme; } public String getIme() { return ime; } public void setClanAdresa(String tAdresa) { adresa = tAdresa; } public String getClanAdresa() { return adresa; } public void setClanskiBroj(int tClanskiBroj) { clanskiBroj = tClanskiBroj; } public int getClanskiBroj() { return clanskiBroj; } } SponsorClan Code: public class SponsorClan extends Clan { private double godisnjaClanarina; /** * */ public SponsorClan(int clanskiBroj, String ime, String adresa) { super(clanskiBroj, ime, adresa); godisnjaClanarina = 5; } public double getGodisnjaClanarina() { return godisnjaClanarina; } } RegularniClan Code: public class RegularniClan extends Clan { private double godisnjaClanarina; private double uclanjenje; /** * */ public RegularniClan(int clanskiBroj, String ime, String adresa) { super(clanskiBroj, ime, adresa); godisnjaClanarina = 100; uclanjenje = 20; } public double getGodisnjaClanarina() { return godisnjaClanarina; } public double getUclanjenje() { return uclanjenje; } } DozivotniClan Code: public class DozivotniClan extends RegularniClan { private double dUclanjenje; /** * */ public DozivotniClan(int clanskiBroj, String ime, String adresa) { super(clanskiBroj, ime, adresa); dUclanjenje = super.getUclanjenje()*3; } public double getUclanjenje() { return dUclanjenje; } } Klub Code: public class Klub { private ArrayList<Clan> clanovi; private ArrayList scores; private File fajl = new File("lista.txt"); Scanner input; public Klub() { clanovi = new ArrayList<Clan>(); } public void addClan(Clan mojClan) { clanovi.add(mojClan); } } Main Code: public class Main { static Klub kl1 = new Klub(); public Main() { } public static void main(String[] args) throws Exception { RegularniClan rc1 = new RegularniClan("1234", "Ime", "Adresa"); kl1.addClan(rc1); SponsorClan sc1 = new SponsorClan("5678", "Ime2", "Adresa2"); kl1.addClan(sc1); DozivotniClan dc1 = new DozivotniClan("9876", "Ime3", "Adresa3"); kl1.addClan(dc1); } } |