Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Main {
- public static void main(String[] args) {
- Controller controller = new Controller();
- controller.velkommen();
- }
- }
- import java.util.ArrayList;
- public class Cyklist {
- private String username;
- private int pincode;
- private String hold;
- private int antalKilometerCyklet;
- public ArrayList<Milepael> milepaele = new ArrayList<>();
- public Cyklist(String username, int pincode, Teams hold) {
- this.username = username;
- this.pincode = pincode;
- this.hold = hold.name;
- this.milepaele = milepaele;
- }
- public ArrayList<Milepael> getMilepaele() {
- return milepaele;
- }
- public void setMilepaele(ArrayList<Milepael> milepaele) {
- this.milepaele = milepaele;
- }
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public int getPincode() {
- return pincode;
- }
- public void setPincode(int pincode) {
- this.pincode = pincode;
- }
- public String getHold() {
- return hold;
- }
- public void setHold(String hold) {
- this.hold = hold;
- }
- public int getAntalKilometerCyklet() {
- return antalKilometerCyklet;
- }
- public void setAntalKilometerCyklet(int antalKilometerCyklet) {
- this.antalKilometerCyklet += antalKilometerCyklet;
- }
- }
- import java.util.ArrayList;
- public class Teams {
- public String name;
- public int antalKmSamlet;
- public ArrayList<Cyklist> cyklister = new ArrayList<>();
- public ArrayList<Milepael> holdMilepaele = new ArrayList<>();
- public ArrayList<Milepael> getHoldMilepaele() {
- return holdMilepaele;
- }
- public void setHoldMilepaele(ArrayList<Milepael> holdMilepaele) {
- this.holdMilepaele = holdMilepaele;
- }
- public int getAntalKmSamlet() {
- return antalKmSamlet;
- }
- public void setAntalKmSamlet(int antalKmSamlet) {
- this.antalKmSamlet = antalKmSamlet;
- }
- public Teams() {
- this.cyklister = cyklister;
- this.holdMilepaele = holdMilepaele;
- this.antalKmSamlet = antalKmSamlet;
- }
- public Teams(String name) {
- this.name = name;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public ArrayList<Cyklist> getCyklister() {
- return cyklister;
- }
- public void setCyklister(ArrayList<Cyklist> cyklister) {
- this.cyklister = cyklister;
- }
- }
- import java.util.ArrayList;
- public class Data {
- public ArrayList<Teams> hold = new ArrayList<>();
- public ArrayList<Cyklist> alleCyklister = new ArrayList<>();
- public ArrayList<Milepael> milepaele = new ArrayList<>();
- public void generateData() {
- Teams teamSjaelland = new Teams("Team Sjælland");
- Teams teamJylland = new Teams("Team Jylland");
- Teams teamFyn = new Teams("Team Fyn");
- hold.add(teamJylland);
- hold.add(teamSjaelland);
- hold.add(teamFyn);
- /* Cyklist admin = new Cyklist("Mathias",1234,teamSjaelland);
- Cyklist admin1 = new Cyklist("Peter",1234,teamSjaelland);
- Cyklist admin2 = new Cyklist("Anna",1234,teamSjaelland);
- Cyklist admin3 = new Cyklist("Niels",1234,teamSjaelland);*/
- /* teamSjaelland.cyklister.add(admin);
- teamSjaelland.cyklister.add(admin1);
- teamSjaelland.cyklister.add(admin2);
- teamSjaelland.cyklister.add(admin3);
- alleCyklister.add(admin);
- alleCyklister.add(admin1);
- alleCyklister.add(admin2);
- alleCyklister.add(admin3);
- admin1.setAntalKilometerCyklet(100);
- admin2.setAntalKilometerCyklet(757);
- admin3.setAntalKilometerCyklet(754);
- */
- }
- public void generateMilepaele(int holdNummer) {
- Milepael milepael1 = new Milepael("Roskilde",30);
- Milepael milepael2 = new Milepael("Odense",160);
- Milepael milepael3 = new Milepael("Aabenraa",290);
- Milepael milepael4 = new Milepael("Hamburg",380);
- Milepael milepael5 = new Milepael("Hannover",530);
- milepaele.add(milepael1);
- milepaele.add(milepael2);
- milepaele.add(milepael3);
- milepaele.add(milepael4);
- milepaele.add(milepael5);
- Milepael holdMilepael1 = new Milepael("Hamburg",380);
- Milepael holdMilepael2 = new Milepael("Berlin",670);
- Milepael holdMilepael3 = new Milepael("Frankfurt",1270);
- Milepael holdMilepael4 = new Milepael("Luxembourg",1510);
- Milepael holdMilepael5 = new Milepael("Paris",1880);
- hold.get(holdNummer).holdMilepaele.add(holdMilepael1);
- hold.get(holdNummer).holdMilepaele.add(holdMilepael2);
- hold.get(holdNummer).holdMilepaele.add(holdMilepael3);
- hold.get(holdNummer).holdMilepaele.add(holdMilepael4);
- hold.get(holdNummer).holdMilepaele.add(holdMilepael5);
- }
- public ArrayList<Cyklist> getAlleCyklister() {
- return alleCyklister;
- }
- public void setAlleCyklister(ArrayList<Cyklist> alleCyklister) {
- this.alleCyklister = alleCyklister;
- }
- public ArrayList<Milepael> getMilepaele() {
- return milepaele;
- }
- public void setMilepaele(ArrayList<Milepael> milepaele) {
- this.milepaele = milepaele;
- }
- public Data() {
- this.hold = hold;
- }
- public ArrayList<Teams> getHold() {
- return hold;
- }
- public void setHold(ArrayList<Teams> hold) {
- this.hold = hold;
- }
- }
- import java.util.*;
- public class Controller {
- int userChoice;
- Scanner input = new Scanner(System.in);
- Cyklist currentCyklist; // sættes senere så vi kender den nuværende cyklist
- Data db = new Data(); // opretter en instans af vores data.
- public void velkommen() {
- db.generateData(); //opretter de tre hold og tilføjer dem til arraylisten
- startside();
- }
- public void startside() {
- System.out.println("Velkommen til 'Vi cykler på arbejde'. Vælg venligst din ønskede funktion: ");
- System.out.println("1. Opret cyklist");
- System.out.println("2. Login");
- userChoice = input.nextInt();
- switch (userChoice) {
- case 1:
- opretCyklistMenu();
- break;
- case 2:
- login();
- break;
- default:
- break;
- }
- }
- public void opretCyklistMenu() {
- String brugernavn;
- int pincode;
- int holdValg;
- String hold;
- System.out.println("Indtast dit ønskede brugernavn");
- brugernavn = input.next();
- for (int i = 0; i < db.alleCyklister.size(); i++) { //tjekker om brugernavnet allerede findes i arraylisten over alle cyklister
- if (db.alleCyklister.get(i).getUsername().equalsIgnoreCase(brugernavn)) { //hvis det findes, skal brugeren indtaste et nyt.
- do {
- System.out.println("Brugernavnet eksisterer allerede. Vælg venligst et andet. ");
- brugernavn = input.next();
- i = 0;
- } while (db.alleCyklister.get(i).getUsername().equalsIgnoreCase(brugernavn));
- }
- }
- System.out.println("Indtast din ønskede pinkode (4 tal): ");
- pincode = input.nextInt();
- System.out.println("Du er nu oprettet. Brugernavn: "+brugernavn+". Pinkode: "+pincode);
- System.out.println("Hvilket hold vil du gerne cykle for?");
- System.out.println("1. Team Jylland");
- System.out.println("2. Team Sjælland");
- System.out.println("3. Team Fyn");
- holdValg = input.nextInt();
- if (holdValg == 1) {
- hold = "Team Jylland";
- } else if (holdValg == 2) {
- hold = "Team Sjælland";
- } else {
- hold = "Team Fyn";
- }
- opretCyklist(brugernavn,pincode,holdValg); // kalder funktionen opretCyklist() med de tre parametre
- System.out.println("Du valgte "+hold+". Du bliver nu ført tilbage til login. \n");
- startside(); //fører tilbage til startsiden. Brugeren kan her logge ind eller oprette en ny bruger.
- }
- public void opretCyklist(String brugernavn, int pinkode, int hold) {
- Teams holdValg; //sætter brugerens hold til det korrekte. Tager et hold fra arraylisten med hold.
- if (hold == 1) {
- holdValg = db.hold.get(0); //Jylland er på indeks 0
- } else if (hold == 2) {
- holdValg = db.hold.get(1); //Sjælland er på indeks 1
- } else {
- holdValg = db.hold.get(2); //Fyn er på indeks 2
- }
- Cyklist nyCyklist = new Cyklist(brugernavn,pinkode,holdValg); //opretter en ny cyklist og sætter deres hold.
- db.hold.get(hold-1).cyklister.add(nyCyklist); //tilføjer til brugeren til den respektive arrayliste.trækker en fra da arraylisten starter ved indeks 0.
- db.alleCyklister.add(nyCyklist); //tilføjer cyklisten til en arrayliste over alle cyklister.
- }
- public void login() {
- while (currentCyklist == null) { //når brugeren ikke er logget ind vises login menuen.
- String brugernavn;
- int password;
- System.out.println("Indtast venligst dit brugernavn:");
- brugernavn = input.next();
- System.out.println("Indtast venligst din pinkode");
- password = input.nextInt();
- authUser(brugernavn,password); //tjekker om brugeren findes i en af de tre arraylister
- if (currentCyklist != null) {
- System.out.println("Du er nu logget ind. \n");
- menu();
- } else {
- System.out.println("Du indtasede et forkert brugernavn eller pinkode. Prøv igen \n");
- }
- }
- }
- public Cyklist authUser(String brugernavn, int password) {
- for (Cyklist cyklist : db.alleCyklister) { //tjekker i arraylisten over alle brugere om brugeren findes.
- if (cyklist.getUsername().equalsIgnoreCase(brugernavn) && cyklist.getPincode() == password) {
- currentCyklist = cyklist; //hvis brugeren findes sættes brugeren til currentCyklist og programmet kan fortsætte
- return cyklist;
- }
- }
- return null;
- }
- public void menu() {
- boolean loggetInd = true; //bruges senere til at forlade menuen
- int brugerValg;
- while (loggetInd == true) {
- System.out.println("Velkommen til programmet "+currentCyklist.getUsername()+". Vælg din ønskede funktion:");
- System.out.println("1. Indtast antal kilometer cyklet");
- System.out.println("2. Se rangliste individuelt");
- System.out.println("3. Se rangliste for holdene");
- System.out.println("4. Log ud");
- System.out.println("5. Slet din bruger");
- brugerValg = input.nextInt();
- switch (brugerValg) {
- case 1:
- indtastKilometer();
- break;
- case 2:
- individuelRangliste();
- break;
- case 3:
- holdRanglisteMenu();
- break;
- case 4:
- logUd();
- loggetInd = false;
- break;
- case 5:
- sletBruger();
- }
- }
- }
- public void logUd() {
- System.out.println("Du er nu logget ud. \n");
- currentCyklist = null;
- startside();
- }
- public void indtastKilometer() {
- int antalKm;
- int valg;
- System.out.println("Hvor langt har du cyklet? Skriv i antal kilometer");
- antalKm = input.nextInt();
- System.out.println("Godt gået! Du har cyklet "+antalKm+"km. Du har nu 2 muligheder:");
- System.out.println("1. Indsend normalt");
- System.out.println("2. Prøve lykken (vinde eller miste km).");
- valg = input.nextInt();
- if (valg == 1) {
- currentCyklist.setAntalKilometerCyklet(antalKm); //tjek setteren. Den tilføjer til original værdi.
- System.out.println("Der blevet tilføjet "+antalKm+"km til din profil! \n");
- } else {
- int nyAntalKm;
- Random ran = new Random();
- int x = ran.nextInt(4)+1; //x bliver enten 1,2,3 eller 4.
- System.out.println(x);
- if (x > 2) { // hvis x bliver 3 eller 4, mister 5km.
- nyAntalKm = antalKm - 5;
- currentCyklist.setAntalKilometerCyklet(nyAntalKm);
- System.out.println("Desværre! Der er blevet tilføjet "+nyAntalKm+"km til din profil. (5km trukket fra) \n");
- } else if (x <= 2) { // hvis x bliver 1 eller 2, tilføjes cyklisten + 5km.
- nyAntalKm = antalKm + 5;
- currentCyklist.setAntalKilometerCyklet(nyAntalKm);
- System.out.println("Sådan! Der er blevet tilføjet "+nyAntalKm+"km til din profil. (5km tilføjet) \n");
- }
- }
- }
- public void individuelRangliste() {
- boolean seRangliste = true;
- int brugerValg;
- while (seRangliste = true) {
- System.out.println("Hvad ønsker du at se?");
- System.out.println("1. Hvor langt du har kørt.");
- System.out.println("2. Dine nærmeste konkurrenter.");
- System.out.println("3. Dine milepæle.");
- System.out.println("4. Gå tilbage til menuen.");
- brugerValg = input.nextInt();
- input.nextLine();
- switch (brugerValg) {
- case 1:
- antalKilometerCyklet();
- break;
- case 2:
- rangeringMenu();
- break;
- case 3:
- milepaele();
- break;
- case 4:
- seRangliste = false;
- menu();
- break;
- default:
- break;
- }
- }
- }
- public void antalKilometerCyklet() {
- System.out.println("Du har kørt "+currentCyklist.getAntalKilometerCyklet()+"km i alt! \n");
- }
- public void rankPåHold(int holdNummer) {
- int placering;
- int kilometerForskel;
- int kilometerForskel2;
- ArrayList<Cyklist> kopiListe = new ArrayList<>(db.hold.get(holdNummer).cyklister); //opretter en kopiliste til at rangere cyklisterne.
- Collections.sort(kopiListe,new MyComparator()); //sorterer arraylisten så personen med højeste scorer er først
- placering = kopiListe.indexOf(currentCyklist);
- placering = placering + 1; // lægger en til pga. arraylisten starter ved indeks 0
- System.out.println("I forhold til alle på dit hold ("+currentCyklist.getHold()+") er din nuværende placering nr. "+placering+" ud af i alt "+kopiListe.size()+" personer på dit hold.\n");
- if (placering == 1) {
- if (kopiListe.size() > 1) {
- kilometerForskel = currentCyklist.getAntalKilometerCyklet() - kopiListe.get(placering).getAntalKilometerCyklet();
- System.out.println("Sådan! Du er nummer 1, men pas på, "+kopiListe.get(placering).getUsername()+" er ved at indhente dig. Personen mangler kun "+kilometerForskel+"km.");
- } else {
- System.out.println("Du er den eneste på dit hold! Skynd dig at få nogle flere med!");
- }
- } else if (placering == kopiListe.size()) {
- kilometerForskel = kopiListe.get(placering-2).getAntalKilometerCyklet() - currentCyklist.getAntalKilometerCyklet();
- System.out.println("Du er på sidste pladsen på dit hold.. Men ikke lad dig slå ud, du mangler kun "+kilometerForskel+"km for at indhente "+kopiListe.get(placering-2).getUsername()+".");
- } else {
- kilometerForskel = kopiListe.get(placering-2).getAntalKilometerCyklet() - currentCyklist.getAntalKilometerCyklet(); //antal af km til personen der er foran på ranglisten
- kilometerForskel2 = currentCyklist.getAntalKilometerCyklet() - kopiListe.get(placering).getAntalKilometerCyklet(); //antal af km til personen der er bagved på ranglisten
- System.out.println("Du mangler kun at cykle "+kilometerForskel+"km for at indhente "+kopiListe.get(placering-2).getUsername()+" - go for it!");
- System.out.println("Men pas på, "+kopiListe.get(placering).getUsername()+" er ved at indhente dig. Personen mangler kun "+kilometerForskel2+"km.");
- }
- int i = 0;
- System.out.println("\nRanglisten er som følger: ");
- for (Cyklist cyklist : kopiListe) {
- i++;
- System.out.println(+i+". "+cyklist.getUsername()+", "+cyklist.getAntalKilometerCyklet()+"km");
- }
- System.out.println("\n");
- }
- private int holdNummer() {
- int holdNr;
- if (currentCyklist.getHold().equalsIgnoreCase("Team Sjælland")) {
- holdNr = 1;
- } else if (currentCyklist.getHold().equalsIgnoreCase("Team Jylland")) {
- holdNr = 0;
- } else {
- holdNr = 2;
- }
- return holdNr;
- }
- public void rangeringMenu() {
- int choice;
- System.out.println("Vælg hvilken rangliste du ønsker at se:");
- System.out.println("1. Din rangering i forhold til dit hold");
- System.out.println("2. Din rangering i forhold til alle tilmeldte cyklister");
- choice = input.nextInt();
- if (choice == 1) {
- rankPåHold(holdNummer());
- } else {
- rankSamlet();
- }
- }
- public void rankSamlet() {
- int placering;
- int kilometerForskel;
- int kilometerForskel2;
- ArrayList<Cyklist> kopiListeSamlet = new ArrayList<>(db.alleCyklister); //opretter en kopiliste til at rangere alle cyklisterne.
- Collections.sort(kopiListeSamlet,new MyComparator()); //sorterer arraylisten så personen med højeste scorer er først
- placering = kopiListeSamlet.indexOf(currentCyklist);
- placering = placering + 1; // lægger en til pga. arraylisten starter ved indeks 0
- System.out.println("I forhold til alle der er oprettet som bruger i programmet, er din nuværende placering nr. "+placering+" ud af i alt "+kopiListeSamlet.size()+" personer.\n");
- if (placering == 1) {
- if (kopiListeSamlet.size() > 1) {
- kilometerForskel = currentCyklist.getAntalKilometerCyklet() - kopiListeSamlet.get(placering).getAntalKilometerCyklet(); //antal kilometer til personen på plads nr. 2
- System.out.println("Sådan! Du er nummer 1, men pas på, "+kopiListeSamlet.get(placering).getUsername()+" er ved at indhente dig. Personen mangler kun "+kilometerForskel+"km.");
- } else {
- System.out.println("Du er den der er tilmeldt! Skynd dig at få nogle flere med!");
- }
- } else if (placering == kopiListeSamlet.size()) {
- kilometerForskel = kopiListeSamlet.get(placering-2).getAntalKilometerCyklet() - currentCyklist.getAntalKilometerCyklet(); //antal kilometer til personen der er foran
- System.out.println("Du er på sidste pladsen af alle deltagere... Men ikke lad dig slå ud, du mangler kun "+kilometerForskel+"km for at indhente "+kopiListeSamlet.get(placering-2).getUsername()+".");
- } else {
- kilometerForskel = kopiListeSamlet.get(placering-2).getAntalKilometerCyklet() - currentCyklist.getAntalKilometerCyklet(); //antal af km til personen der er foran på ranglisten
- kilometerForskel2 = currentCyklist.getAntalKilometerCyklet() - kopiListeSamlet.get(placering).getAntalKilometerCyklet(); //antal af km til personen der er bagved på ranglisten
- System.out.println("Du mangler kun at cykle "+kilometerForskel+"km for at indhente "+kopiListeSamlet.get(placering-2).getUsername()+" - go for it!");
- System.out.println("Men pas på, "+kopiListeSamlet.get(placering).getUsername()+" er ved at indhente dig. Personen mangler kun "+kilometerForskel2+"km.");
- }
- int i = 0;
- System.out.println("\nRanglisten er som følger: ");
- for (Cyklist cyklist : kopiListeSamlet) {
- i++;
- System.out.println(+i+". "+cyklist.getUsername()+", "+cyklist.getAntalKilometerCyklet()+"km");
- }
- System.out.println("\n");
- }
- public void milepaele() {
- db.generateMilepaele(holdNummer());
- if (currentCyklist.getAntalKilometerCyklet() > 530) {
- System.out.println("Du har opnået milepælen: "+db.milepaele.get(4).navn+"\n");
- currentCyklist.milepaele.add(db.milepaele.get(4));
- }
- else if (currentCyklist.getAntalKilometerCyklet() > 380) {
- System.out.println("Du har opnået milepælen: "+db.milepaele.get(3).navn+"\n");
- currentCyklist.milepaele.add(db.milepaele.get(3));
- }
- else if (currentCyklist.getAntalKilometerCyklet() > 290) {
- System.out.println("Du har opnået milepælen: "+db.milepaele.get(2).navn+"\n");
- currentCyklist.milepaele.add(db.milepaele.get(2));
- }
- else if (currentCyklist.getAntalKilometerCyklet() > 160) {
- System.out.println("Du har opnået milepælen: "+db.milepaele.get(1).navn+"\n");
- currentCyklist.milepaele.add(db.milepaele.get(1));
- } else if (currentCyklist.getAntalKilometerCyklet() > 30) {
- System.out.println("Du har opnået milepælen: "+db.milepaele.get(0).navn+"\n");
- currentCyklist.milepaele.add(db.milepaele.get(1));
- } else if (currentCyklist.getAntalKilometerCyklet() < 30) {
- System.out.println("Du har endnu ikke opnået nogen milepæl.. Keep going!\n");
- }
- }
- public void holdRanglisteMenu() {
- int choice;
- System.out.println("Hvad vil du gerne se?");
- System.out.println("1. Holdets medlemmer");
- System.out.println("2. Holdets rangliste");
- System.out.println("3. Holdets milepæle");
- System.out.println("4. Rangliste for alle hold");
- choice = input.nextInt();
- switch (choice) {
- case 1:
- holdetsMedlemmer(holdNummer());
- break;
- case 2:
- holdRangliste(holdNummer());
- break;
- case 3:
- holdMilepaele(holdNummer());
- break;
- case 4:
- rangListeForHold();
- default:
- break;
- }
- }
- public void holdetsMedlemmer(int holdnummer) {
- System.out.println("Følgende er med på dit hold ("+currentCyklist.getHold()+"):");
- for (Cyklist cyklist : db.hold.get(holdnummer).cyklister) {
- System.out.println(cyklist.getUsername());
- }
- System.out.println("\n");
- }
- public void holdRangliste(int holdNummer) {
- ArrayList<Cyklist> kopiListe = new ArrayList<>(db.hold.get(holdNummer).cyklister); //opretter en kopiliste til at rangere cyklisterne.
- Collections.sort(kopiListe,new MyComparator()); //sorterer arraylisten så personen med højeste scorer er først
- int i = 0;
- System.out.println("\nRanglisten er som følger: ");
- for (Cyklist cyklist : kopiListe) {
- i++;
- System.out.println(+i+". "+cyklist.getUsername()+", "+cyklist.getAntalKilometerCyklet()+"km");
- }
- System.out.println("\n");
- }
- public void holdMilepaele(int holdNummer) {
- db.generateMilepaele(holdNummer);
- int samletAntalKm = 0;
- int antalKmTilNæsteMilepael;
- for (int i = 0; i < db.hold.get(holdNummer).cyklister.size(); i++) {
- samletAntalKm = db.hold.get(holdNummer).cyklister.get(i).getAntalKilometerCyklet() + samletAntalKm; //sammenlægger alle cyklister på holds antal kilometet
- }
- db.hold.get(holdNummer).setAntalKmSamlet(samletAntalKm);
- System.out.println("\n");
- if (samletAntalKm > 1880) {
- System.out.println("Jeres hold har opnået milepælen: "+db.hold.get(holdNummer).holdMilepaele.get(4).getNavn()+"\n");
- System.out.println("I har opnået den sidste milepæl! Tillykke!");
- db.hold.get(holdNummer).holdMilepaele.add(db.hold.get(holdNummer).holdMilepaele.get(4));
- }
- else if (samletAntalKm > 1510) {
- System.out.println("Jeres hold har opnået milepælen: "+db.hold.get(holdNummer).holdMilepaele.get(3).getNavn()+"\n");
- antalKmTilNæsteMilepael = db.hold.get(holdNummer).holdMilepaele.get(4).antalKm - samletAntalKm;
- System.out.println("I mangler "+antalKmTilNæsteMilepael+"km til næste milepæl: "+db.hold.get(holdNummer).holdMilepaele.get(4).navn);
- db.hold.get(holdNummer).holdMilepaele.add(db.hold.get(holdNummer).holdMilepaele.get(3));
- }
- else if (samletAntalKm > 1270) {
- System.out.println("Jeres hold har opnået milepælen: "+db.hold.get(holdNummer).holdMilepaele.get(2).getNavn()+"\n");
- antalKmTilNæsteMilepael = db.hold.get(holdNummer).holdMilepaele.get(3).antalKm - samletAntalKm;
- System.out.println("I mangler "+antalKmTilNæsteMilepael+"km til næste milepæl: "+db.hold.get(holdNummer).holdMilepaele.get(3).navn);
- db.hold.get(holdNummer).holdMilepaele.add(db.hold.get(holdNummer).holdMilepaele.get(2));
- }
- else if (samletAntalKm > 670) {
- System.out.println("Jeres hold har opnået milepælen: "+db.hold.get(holdNummer).holdMilepaele.get(1).getNavn()+"\n");
- antalKmTilNæsteMilepael = db.hold.get(holdNummer).holdMilepaele.get(2).antalKm - samletAntalKm;
- System.out.println("I mangler "+antalKmTilNæsteMilepael+"km til næste milepæl: "+db.hold.get(holdNummer).holdMilepaele.get(2).navn);
- db.hold.get(holdNummer).holdMilepaele.add(db.hold.get(holdNummer).holdMilepaele.get(1));
- } else if (samletAntalKm > 380) {
- System.out.println("Jeres hold har opnået milepælen: "+db.hold.get(holdNummer).holdMilepaele.get(0).getNavn()+"\n");
- antalKmTilNæsteMilepael = db.hold.get(holdNummer).holdMilepaele.get(1).antalKm - samletAntalKm;
- System.out.println("I mangler "+antalKmTilNæsteMilepael+"km til næste milepæl: "+db.hold.get(holdNummer).holdMilepaele.get(1).navn);
- db.hold.get(holdNummer).holdMilepaele.add(db.hold.get(holdNummer).holdMilepaele.get(0));
- } else if (samletAntalKm < 379) {
- antalKmTilNæsteMilepael = db.hold.get(holdNummer).holdMilepaele.get(0).antalKm - samletAntalKm;
- System.out.println("I har endnu ikke opnået nogen milepæl.. Men I mangler kun "+antalKmTilNæsteMilepael+"km til milepælen: "+db.hold.get(holdNummer).holdMilepaele.get(0).navn+". Keep going!\n");
- }
- System.out.println("\n");
- }
- public void rangListeForHold() {
- int samletAntalKm = 0;
- int antalKmTilNæsteMilepael;
- for (int i = 0; i < db.hold.get(holdNummer()).cyklister.size(); i++) {
- samletAntalKm = db.hold.get(holdNummer()).cyklister.get(i).getAntalKilometerCyklet() + samletAntalKm; //sammenlægger alle cyklister på holds antal kilometet
- }
- db.hold.get(holdNummer()).setAntalKmSamlet(samletAntalKm);
- System.out.println("Ranglisten for holdene er som følger:");
- if (db.hold.get(0).getAntalKmSamlet() > db.hold.get(1).getAntalKmSamlet() && db.hold.get(0).getAntalKmSamlet() > db.hold.get(2).getAntalKmSamlet()) {
- System.out.println("1. "+db.hold.get(0).name+", "+db.hold.get(0).getAntalKmSamlet()+"km");
- if (db.hold.get(1).getAntalKmSamlet() > db.hold.get(2).getAntalKmSamlet()) {
- System.out.println("2. "+db.hold.get(1).name+", "+db.hold.get(1).getAntalKmSamlet()+"km");
- System.out.println("3. "+db.hold.get(2).name+", "+db.hold.get(2).getAntalKmSamlet()+"km");
- } else {
- System.out.println("2. "+db.hold.get(2).name+", "+db.hold.get(2).getAntalKmSamlet()+"km");
- System.out.println("3. "+db.hold.get(1).name+", "+db.hold.get(1).getAntalKmSamlet()+"km");
- }
- }
- if (db.hold.get(1).getAntalKmSamlet() > db.hold.get(0).getAntalKmSamlet() && db.hold.get(1).getAntalKmSamlet() > db.hold.get(2).getAntalKmSamlet()) {
- System.out.println("1. "+db.hold.get(1).name+", "+db.hold.get(1).getAntalKmSamlet()+"km");
- if (db.hold.get(0).getAntalKmSamlet() > db.hold.get(2).getAntalKmSamlet()) {
- System.out.println("2. "+db.hold.get(0).name+", "+db.hold.get(0).getAntalKmSamlet()+"km");
- System.out.println("3. "+db.hold.get(2).name+", "+db.hold.get(2).getAntalKmSamlet()+"km");
- } else {
- System.out.println("2. "+db.hold.get(2).name+", "+db.hold.get(2).getAntalKmSamlet()+"km");
- System.out.println("3. "+db.hold.get(0).name+", "+db.hold.get(0).getAntalKmSamlet()+"km");
- }
- }
- if (db.hold.get(2).getAntalKmSamlet() > db.hold.get(1).getAntalKmSamlet() && db.hold.get(2).getAntalKmSamlet() > db.hold.get(0).getAntalKmSamlet()) {
- System.out.println("1. "+db.hold.get(2).name+", "+db.hold.get(2).getAntalKmSamlet()+"km");
- if (db.hold.get(1).getAntalKmSamlet() > db.hold.get(0).getAntalKmSamlet()) {
- System.out.println("2. "+db.hold.get(1).name+", "+db.hold.get(1).getAntalKmSamlet()+"km");
- System.out.println("3. "+db.hold.get(0).name+", "+db.hold.get(0).getAntalKmSamlet()+"km");
- } else {
- System.out.println("2. "+db.hold.get(0).name+", "+db.hold.get(0).getAntalKmSamlet()+"km");
- System.out.println("3. "+db.hold.get(1).name+", "+db.hold.get(1).getAntalKmSamlet()+"km");
- }
- }
- System.out.println("\n");
- }
- public void sletBruger() {
- int choice;
- System.out.println("Er du sikker på du vil slette din bruger?");
- System.out.println("1. Ja, slet min bruger.. (Dit hold vil miste det antal kilometer du har cyklet)");
- System.out.println("2. Nej, jeg har ombestemt mig!");
- choice = input.nextInt();
- switch (choice) {
- case 1:
- db.hold.get(holdNummer()).setAntalKmSamlet(db.hold.get(holdNummer()).getAntalKmSamlet() - currentCyklist.getAntalKilometerCyklet());
- System.out.println("Din bruger er nu slettet. Du føres tilbage til start. \n");
- db.hold.get(holdNummer()).cyklister.remove(currentCyklist);
- db.alleCyklister.remove(currentCyklist);
- currentCyklist = null;
- startside();
- break;
- case 2:
- System.out.println("Godt valg! Kom op på jernhesten igen!\n");
- break;
- default:
- break;
- }
- }
- }
- public class Milepael {
- String navn;
- int antalKm;
- public Milepael(String navn, int antalKm) {
- this.navn = navn;
- this.antalKm = antalKm;
- }
- public String getNavn() {
- return navn;
- }
- public void setNavn(String navn) {
- this.navn = navn;
- }
- public int getAntalKm() {
- return antalKm;
- }
- public void setAntalKm(int antalKm) {
- this.antalKm = antalKm;
- }
- }
- import java.util.Comparator;
- public class MyComparator implements Comparator<Cyklist> {
- @Override
- public int compare(Cyklist o1, Cyklist o2) { //sammenligner cyklisternes samlede antal kilometercyklet
- if (o1.getAntalKilometerCyklet() > o2.getAntalKilometerCyklet()) {
- return -1;
- } else if (o1.getAntalKilometerCyklet() < o2.getAntalKilometerCyklet()) {
- return 1;
- }
- return 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement