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

Reply via email to