You where right about that, im including my full code below as i want to ask if you could advise on any places where i could maybe add some interesting or usefull aspects as an example of what they can do.
thanks public class RaceSim { public static void main(String[] args) { //Creating 8 heats Heat heat1Round1 = new Heat1(); Heat heat2Round1 = new Heat2(); Heat heat3Round1 = new Heat3(); Heat heat4Round1 = new Heat4(); Heat heat5Round1 = new Heat5(); Heat heat6Round1 = new Heat6(); Heat heat7Round1 = new Heat7(); Heat heat8Round1 = new Heat8(); Runner[] r = new Runner[65]; for(int i = 1; i <= 64; i++) { r[i] = new Runner("firstname "+i, "lastname "+i, 0.00); } int count=1; for(int i=1; i<=64;i++){ if(count<=8){ heat1Round1.addRunner(r[i]); } else if(count<=16){ heat2Round1.addRunner(r[i]); }else if(count<=24){ heat3Round1.addRunner(r[i]); }else if(count<=32){ heat4Round1.addRunner(r[i]); }else if(count<=40){ heat5Round1.addRunner(r[i]); }else if(count<=48){ heat6Round1.addRunner(r[i]); }else if(count<=56){ heat7Round1.addRunner(r[i]); }else { heat8Round1.addRunner(r[i]); } count+=1; } Round round1 = new Round1(); round1.addHeat(heat1Round1); round1.addHeat(heat2Round1); round1.addHeat(heat3Round1); round1.addHeat(heat4Round1); round1.addHeat(heat5Round1); round1.addHeat(heat6Round1); round1.addHeat(heat7Round1); round1.addHeat(heat8Round1); round1.displayRunners(); heat1Round1.runRace(); heat2Round1.runRace(); heat3Round1.runRace(); heat4Round1.runRace(); heat5Round1.runRace(); heat6Round1.runRace(); heat7Round1.runRace(); heat8Round1.runRace(); //Finding winners for heats heat1Round1.getWinnersFromHeat(); heat2Round1.getWinnersFromHeat(); heat3Round1.getWinnersFromHeat(); heat4Round1.getWinnersFromHeat(); heat5Round1.getWinnersFromHeat(); heat6Round1.getWinnersFromHeat(); heat7Round1.getWinnersFromHeat(); heat8Round1.getWinnersFromHeat(); round1.displayHeats(); //creating heats for round2 Heat heat1Round2 =new Heat1(); Heat heat2Round2 =new Heat2(); Heat heat3Round2 =new Heat3(); Heat heat4Round2 =new Heat4(); //getting previous winners form heats from round 1 heat1Round2.getWinnersFromPreviousRound(heat1Round1); heat1Round2.getWinnersFromPreviousRound(heat2Round1); heat2Round2.getWinnersFromPreviousRound(heat3Round1); heat2Round2.getWinnersFromPreviousRound(heat4Round1); heat3Round2.getWinnersFromPreviousRound(heat5Round1); heat3Round2.getWinnersFromPreviousRound(heat6Round1); heat4Round2.getWinnersFromPreviousRound(heat7Round1); heat4Round2.getWinnersFromPreviousRound(heat8Round1); //running race with combined winners of first heats from round 1 heat1Round2.runRace(); heat2Round2.runRace(); heat3Round2.runRace(); heat4Round2.runRace(); //getting winners heat1Round2.getWinnersFromHeat(); heat2Round2.getWinnersFromHeat(); heat3Round2.getWinnersFromHeat(); heat4Round2.getWinnersFromHeat(); //creating round 2 Round round2 = new Round2(); //adding heat 1 to round 2 round2.addHeat(heat1Round2); round2.addHeat(heat2Round2); round2.addHeat(heat3Round2); round2.addHeat(heat4Round2); //displaying heat 1 round 2 round2.displayHeats(); Heat semiFinal1 =new Heat1(); Heat semiFinal2 =new Heat2(); semiFinal1.getWinnersFromPreviousRound(heat1Round2); semiFinal1.getWinnersFromPreviousRound(heat2Round2); semiFinal2.getWinnersFromPreviousRound(heat3Round2); semiFinal2.getWinnersFromPreviousRound(heat4Round2); semiFinal1.runRace(); semiFinal2.runRace(); semiFinal1.getWinnersFromHeat(); semiFinal2.getWinnersFromHeat(); Round semiFinal = new semiFinal(); semiFinal.addHeat(semiFinal1); semiFinal.addHeat(semiFinal2); semiFinal.displayHeats(); Heat Final =new Heat1(); Final.getWinnersFromPreviousRound(semiFinal1); Final.getWinnersFromPreviousRound(semiFinal2); Final.runRace(); Final.getWinnersFromFinal(); Round round4 = new Round4(); round4.addHeat(Final); round4.displayHeats(); } } import java.util.ArrayList; import java.util.Iterator; public abstract class Round { private ArrayList heats = new ArrayList(); protected String name; public String getName() { return name; } public Round() {} public void addHeat(Heat heat) { heats.add(heat); } public String displayHeats(){ Iterator iter =heats.iterator(); String result=""; while(iter.hasNext()){ Heat aHeat=(Heat)iter.next(); System.out.println(aHeat.name +this.name +"\n"+ aHeat.getRunners().toString()); System.out.println(aHeat.name+this.name +"\nWinners"+ aHeat.getWinners()); } return result; } public String displayRunners(){ Iterator iter =heats.iterator(); String result=""; while(iter.hasNext()){ Heat aHeat=(Heat)iter.next(); System.out.println(aHeat.name +this.name +"\n"+ aHeat.getRunners().toString()); } return result; } public String toString(){ return name; } } import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.Random; public abstract class Heat { private ArrayList runners = new ArrayList(); private ArrayList winners = new ArrayList(); public ArrayList getRunners(){ return runners; } public ArrayList getWinners(){ return winners; } protected String name; public String getName(){ return name; } public Heat(){} public void addRunner(Runner runner){ runners.add(runner); } public String toString(){ return name; } public static double createRandomTime() { Random ranGen = new Random(); return ranGen.nextDouble() + 9; } public void runRace() { Iterator iter = runners.iterator(); while(iter.hasNext()){ Runner aRunner =(Runner)iter.next(); aRunner.setTime(createRandomTime()); } } public void getWinnersFromHeat(){ int count=0; Collections.sort(runners); Iterator iter = runners.iterator(); while(iter.hasNext()){ Runner aRunner= (Runner)iter.next(); if(count!=4){ winners.add(aRunner); }else { break; } count+=1; } } public void getWinnersFromFinal(){ int count=0; Collections.sort(runners); Iterator iter = runners.iterator(); while(iter.hasNext()){ Runner aRunner= (Runner)iter.next(); if(count!=1){ winners.add(aRunner); }else { break; } count+=1; } } public void getWinnersFromPreviousRound(Heat oldHeat){ this.addRunner((Runner) oldHeat.getWinners().get(0)); this.addRunner((Runner) oldHeat.getWinners().get(1)); this.addRunner((Runner) oldHeat.getWinners().get(2)); this.addRunner((Runner) oldHeat.getWinners().get(3)); } } public class Runner implements Comparable{ private String fName; private String sName; private double time; public Runner(){ } public Runner(String fName, String sName, double time){ this.fName = fName; this.sName = sName; this.time = time; } public double getTime(){ return time; } public void setTime(double time){ double aTime =(double)time*100; aTime =(int)aTime; aTime=aTime/100; this.time= aTime; } public String getfName() { return fName; } public String getsName() { return sName; } public String toString(){ return fName+" "+sName+" "+time; } public int compareTo(Object obj) { // TODO Auto-generated method stub Runner r = (Runner)obj; if(this.time<r.getTime()){ return 0; }else if(this.time>r.getTime()){ return 1; }else{ return -1; } } } public final class Heat1 extends Heat{ public Heat1() { this.name="Heat1"; // TODO Auto-generated constructor stub } } public final class Round1 extends Round{ public Round1(){ this.name="Round1"; } } -- View this message in context: http://aspectj.2085585.n4.nabble.com/New-to-Aspectj-tp3042137p3047865.html Sent from the AspectJ - users mailing list archive at Nabble.com. _______________________________________________ aspectj-users mailing list aspectj-users@eclipse.org https://dev.eclipse.org/mailman/listinfo/aspectj-users