Advertisement
Guest User

Untitled

a guest
Dec 6th, 2016
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 19.14 KB | None | 0 0
  1. import java.util.*;
  2. import java.io.*;
  3. import java.time.*;
  4.  
  5. public class Data {
  6.  
  7.    //Creates member ArrayList
  8.    ArrayList<Members> memberList = new ArrayList<Members>();
  9.    
  10.    //Creates trainer ArrayList
  11.    ArrayList<Trainer> trainerList = new ArrayList<Trainer>();
  12.    
  13.    //Creates result ArrayList
  14.    ArrayList<Result> resultButterfly = new ArrayList<Result>();
  15.    ArrayList<Result> resultCrawl = new ArrayList<Result>();
  16.    ArrayList<Result> resultRygcrawl = new ArrayList<Result>();
  17.    ArrayList<Result> resultBrystsvoemning = new ArrayList<Result>();
  18.    ArrayList<Result> resultHundesvoemning = new ArrayList<Result>();
  19.    
  20.    //LOGIN///////////////////////////////////////////////////
  21.    
  22.    //Dolphin "Splash" Screen    
  23.    public void delfinen()throws Exception{
  24.       System.out.println("                                         .--.");
  25.       System.out.println("                   _______             .-\"  .'");
  26.       System.out.println("          .---u\"\"\"       \"\"\"\"---._  .\"    %");
  27.       System.out.println("        .'                        \"--.    %");
  28.       System.out.println("   __.--'  o                          \"\".. \"");
  29.       System.out.println("  (____.   Velkommen til DelfinAdmin       \":");
  30.       System.out.println("   `----.__                                 \".");
  31.       System.out.println("           `----------__                     \".");
  32.       System.out.println("                 \".   . \"\"--.                 \".");
  33.       System.out.println("                   \". \". bIt \"\"-.              \".");
  34.       System.out.println("                    \"-.)        \"\"-.           \".");
  35.       System.out.println("                                     \"\".         \".");
  36.       System.out.println("                                        \"\".       \".");
  37.       System.out.println("                                           \"\".      \".");
  38.       System.out.println("                                              \"\".    \".");
  39.       System.out.println("                        ^~^~^~^~^~^~^~^~^~^~^~^~^\"\".  \"^~^~^~^~^");
  40.       System.out.println("                                              ^~^~^~^  ~^~");
  41.       System.out.println("                                                   ^~^~^~");
  42.       System.out.println();
  43.    }
  44.    
  45.    //System Login
  46.    public void logIn() throws Exception {
  47.       Scanner console = new Scanner(System.in);
  48.       Scanner pin = new Scanner(new File("pinkode.tmp"));
  49.       System.out.println("Skriv login pinkode (en kombination af 4 tal)");
  50.       int pinkode = console.nextInt();
  51.       int pin1 = pin.nextInt();
  52.       int pinkodetemp = pinkode;
  53.       int pintemp = pin1;
  54.    
  55.      
  56.       if(pinkodetemp == pintemp){
  57.          System.out.println("Korrekt pinkode. Starter program");
  58.       }
  59.       else{
  60.          System.out.println("Forkert pin, proev igen");
  61.          try {
  62.             Thread.sleep(500);
  63.          }
  64.          catch (InterruptedException argh) {
  65.          }
  66.          logIn();
  67.          System.out.println();
  68.          Thread.sleep(1000);
  69.       }
  70.      
  71.       loadObjects();
  72.    }
  73.  
  74.    //Create new pincode
  75.    public void newPassword() throws Exception{
  76.       Scanner newPass = new Scanner(System.in);
  77.       PrintStream pin = new PrintStream(new File("pinkode.tmp"));
  78.       System.out.println("Hvad skal den nye pinkode vaere?");
  79.       int newpin = newPass.nextInt();
  80.       int temppin = newpin;
  81.       pin.println(temppin);
  82.       memberMenu();
  83.    }
  84.  
  85.    //set Danish Locale
  86.    public void setLocale() {
  87.       Locale locale1 = new Locale("da", "DK");
  88.       Locale.setDefault(new Locale("da", "DK"));
  89.    }
  90.    
  91.    //LOGIN END //////////////////////////////////////////////
  92.  
  93.    //Member Menu
  94.    public void memberMenu() throws Exception {
  95.       System.out.println("(||||||||||||||||||||||||||||||||||)\n");
  96.       Scanner memberMenuScan = new Scanner(System.in);
  97.       System.out.println("Velkommen til Delfin Admin");
  98.       System.out.println();
  99.       System.out.println("Vaelg menu");
  100.       System.out.println();
  101.       System.out.println("1: Opret Nyt Medlem");
  102.       System.out.println("2: Opret Traener");
  103.       System.out.println("3: Slet Medlem");
  104.       System.out.println("4: Slet Traener");
  105.       System.out.println("5: Medlems Lister");
  106.       System.out.println("6: Lav Ny Pinkode");
  107.       System.out.println("7: Tilfoej Tid Til Pro Svoemmer");
  108.       System.out.println("8: Se Tider Over Bedste Svoemmere");
  109.       System.out.println("9: Medlemmer i Restance");
  110.       System.out.println();
  111.       System.out.println("10: Luk");
  112.       System.out.println("\n(||||||||||||||||||||||||||||||||||)\n");
  113.       int memberMenuChoice = memberMenuScan.nextInt();
  114.      
  115.       switch (memberMenuChoice) {
  116.          case 1:
  117.             chooseMemberType();
  118.             break;
  119.          case 2:
  120.             createTrainer();
  121.             break;
  122.          case 3:
  123.             deleteMember();              
  124.             break;
  125.          case 4:
  126.             deleteTrainer();
  127.             break;  
  128.          case 5:
  129.             memberLists();
  130.             break;
  131.          case 6:
  132.             newPassword();
  133.             break;
  134.          case 7:
  135.             addTime();
  136.             memberMenu();
  137.             break;
  138.          case 8:
  139.             topFiveMenu();
  140.             break;
  141.          case 9:
  142.             whoHasPaid();
  143.             memberMenu();
  144.             break;
  145.          case 10:
  146.             System.out.println("Lukker Programmet. Farvel");
  147.             System.exit(0);
  148.             break;
  149.          default:
  150.             System.out.println("Forkert valg. Returnerer til hovedmenuen");
  151.             try {
  152.                Thread.sleep(500);
  153.             }
  154.             catch (InterruptedException argh) {
  155.             }
  156.             memberMenu();
  157.             System.out.println();
  158.             break;
  159.       }
  160.    
  161.    }
  162.    
  163.    //Which member to create
  164.    public void chooseMemberType() throws Exception{
  165.       Scanner console = new Scanner(System.in);
  166.       System.out.println("Vil du oprette en motionist eller professionel svoemmer?\n( 1 for Motionist / 2 for Prof )");
  167.       int answer = console.nextInt();
  168.       switch (answer){
  169.          case 1:
  170.             createNormalMember();
  171.             break;
  172.          case 2:
  173.             createProMember();
  174.             break;
  175.          default:
  176.             System.out.println("Forkert input, venligst skriv 1 eller 2.");
  177.             chooseMemberType();
  178.             break;
  179.       }
  180.    }
  181.    
  182.    //Create Normal Member
  183.    public void createNormalMember() throws Exception  {
  184.       Scanner createMemberInput = new Scanner(System.in);
  185.       System.out.println("Navn? (Fornavn Efternavn): ");
  186.       String newName = createMemberInput.nextLine();
  187.       System.out.println("Adresse ?: ");
  188.       String newAddress = createMemberInput.nextLine();
  189.       int newAge = dateOfBirth();
  190.       System.out.println("Er brugeren aktiv: ( ja / nej )");
  191.       String newAct = createMemberInput.next();
  192.       System.out.println("Har brugeren betalt?: ( ja / nej )");
  193.       String newPaid = createMemberInput.next();
  194.        
  195.       Members nM = new NormalMember(newName, newAge, newAddress, newAct, newPaid);
  196.      
  197.       memberList.add(nM);
  198.       saveObjects();
  199.       listMembers();
  200.       System.out.println();
  201.       memberMenu();  
  202.    }
  203.    
  204.    //Create Pro Swimmer
  205.    public void createProMember() throws Exception {
  206.       Scanner createMemberInput = new Scanner(System.in);
  207.       System.out.println("Navn? (Fornavn Efternavn): ");
  208.       String newName = createMemberInput.nextLine();
  209.       System.out.println("Adresse ?: ");
  210.       String newAddress = createMemberInput.nextLine();
  211.       int newAge = dateOfBirth();
  212.       System.out.println("Tilknyt traener til medlem:");
  213.       Trainer newTrainer = connectTrainerToMember();
  214.       System.out.println("Har brugeren betalt?: ( ja / nej )");
  215.       String newPaid = createMemberInput.next();
  216.      
  217.       Members pro = new ProSwimmer(newName, newAge, newAddress, newTrainer, newPaid);
  218.       memberList.add(pro);
  219.       listMembers();
  220.       saveObjects();
  221.       System.out.println();
  222.       memberMenu();  
  223.    }
  224.    
  225.    //List Membertype menu
  226.    public void memberLists() throws Exception{
  227.       Scanner console = new Scanner(System.in);
  228.       System.out.println("Vælg Medlemstype)");
  229.       System.out.println("1: Normale Medlemmer");
  230.       System.out.println("2: Professionelle Medlemmer");
  231.       System.out.println("3: Tilbage til Hoved Menuen");
  232.       int answer = console.nextInt();
  233.       switch (answer){
  234.          case 1:
  235.             listNormalMembers();
  236.             memberLists();
  237.             break;
  238.          case 2:
  239.             listProMembers();
  240.             memberLists();
  241.             break;
  242.          case 3:
  243.             memberMenu();
  244.          default:
  245.             System.out.println("Forkert input, venligst skriv 1 eller 2.");
  246.             chooseMemberType();
  247.             break;
  248.       }
  249.    }
  250.    
  251.    //List Normal Members
  252.    public void listNormalMembers() throws Exception {
  253.       System.out.println("====================\n");
  254.       for(int i = 0; i < memberList.size(); i++) {
  255.          if(!(memberList.get(i).getMembershiptype().equals("Pro Swimmer"))){
  256.             System.out.println("ID: " + (i + 1));
  257.             System.out.println(memberList.get(i));
  258.             System.out.println("====================\n");
  259.             Thread.sleep(500);
  260.          }
  261.       }  
  262.    }
  263.  
  264.    //List All Members
  265.    public void listMembers() throws Exception {
  266.       System.out.println("====================\n");
  267.       for(int i = 0; i < memberList.size(); i++) {
  268.          System.out.println("ID: " + (i + 1));
  269.          System.out.println(memberList.get(i));
  270.          System.out.println("====================\n");
  271.          Thread.sleep(500);
  272.       }  
  273.    }
  274.    
  275.    //List ProMembers
  276.    public void listProMembers() throws Exception {
  277.       System.out.println("====================\n");
  278.       for(int i = 0; i < memberList.size(); i++) {
  279.          if(memberList.get(i).getMembershiptype().equals("Pro Swimmer")){
  280.             System.out.println("ID: " + (i + 1));
  281.             System.out.println(memberList.get(i));
  282.             System.out.println("====================\n");
  283.          }
  284.       }  
  285.    }
  286.  
  287.    //Delete Member
  288.    public void deleteMember() throws Exception{
  289.       listMembers();
  290.       System.out.println();      
  291.       System.out.println("Skriv ID paa valgte member");
  292.       Scanner console = new Scanner(System.in);
  293.       int s = console.nextInt();
  294.        
  295.       memberList.remove(s - 1);      
  296.       listMembers();
  297.       saveObjects();
  298.       System.out.println();
  299.       memberMenu();
  300.    
  301.    }
  302.    
  303.    // Connect trainer to member
  304.    public Trainer connectTrainerToMember() throws Exception{
  305.       Scanner console = new Scanner(System.in);
  306.       listTrainer();
  307.       System.out.println("Vaelg traener ID fra listen");
  308.       int trainerID = console.nextInt();
  309.       return trainerList.get(trainerID-1);
  310.    }
  311.    
  312.    //print all trainers
  313.    public void listTrainer() throws Exception{
  314.       System.out.println("====================\n");
  315.       for(int i = 0; i < trainerList.size(); i++) {
  316.          System.out.println("ID: " + (i + 1));
  317.          System.out.println(trainerList.get(i));
  318.          System.out.println("====================\n");
  319.          Thread.sleep(500);
  320.       }  
  321.    }
  322.    
  323.    //create trainer
  324.    public void createTrainer() throws Exception{
  325.       Scanner createTrainerInput = new Scanner(System.in);
  326.       System.out.println("Navn? (Fornavn Efternavn): ");
  327.       String newName = createTrainerInput.nextLine();
  328.       System.out.println("Address ?: ");
  329.       String newAddress = createTrainerInput.nextLine();
  330.            
  331.       Trainer coach = new Trainer(newName, newAddress);
  332.       trainerList.add(coach);
  333.       saveObjects();
  334.       listTrainer();
  335.       System.out.println();
  336.       memberMenu();
  337.    }
  338.    
  339.    //Delete trainer
  340.    public void deleteTrainer() throws Exception{
  341.       listTrainer();
  342.       System.out.println();      
  343.       System.out.println("Skriv ID paa valgte traener");
  344.       Scanner console = new Scanner(System.in);
  345.       int s = console.nextInt();
  346.        
  347.       trainerList.remove(s - 1);      
  348.       listTrainer();
  349.       saveObjects();
  350.       System.out.println();
  351.       memberMenu();
  352.    }
  353.    
  354.    // Check who has paid
  355.    public void whoHasPaid() throws Exception{
  356.       System.out.println("====================\n");
  357.       for(int i = 0;i < memberList.size(); i++) {
  358.          if(memberList.get(i).getHasPaid().equalsIgnoreCase("nej")){
  359.             System.out.println("ID: " + (i +1));
  360.             System.out.println(memberList.get(i));
  361.             System.out.println("====================\n");
  362.             Thread.sleep(500);
  363.          }
  364.       }
  365.    }
  366.    
  367.    //Calculate Age from Dob
  368.    public int dateOfBirth() {
  369.       Scanner ageinput = new Scanner(System.in);
  370.       System.out.println("Foedt aar?: ");
  371.       int newYear = ageinput.nextInt();
  372.       System.out.println("Foedt maaned?: ");
  373.       int newMonth = ageinput.nextInt();
  374.       System.out.println("Foedt dag?: ");
  375.       int newDay = ageinput.nextInt();
  376.    
  377.    
  378.       LocalDate today = LocalDate.now();
  379.       LocalDate birthday = LocalDate.of(newYear, newMonth, newDay);
  380.       Period p = Period.between(birthday, today);
  381.    
  382.       return p.getYears();
  383.    }
  384.  
  385.    //List Disciplines
  386.    public void disciplinList(){
  387.       System.out.println("1: Butterfly");
  388.       System.out.println("2: Crawl");
  389.       System.out.println("3: Rygcrawl");
  390.       System.out.println("4: Brystsvoemning");
  391.       System.out.println("5: Hundesvoemning");
  392.    }
  393.    
  394.   //Add a time to pro swimmer
  395.    public void addTime()throws Exception{
  396.       Scanner console = new Scanner(System.in);
  397.       System.out.println("Hvilken disciplin?");
  398.       disciplinList();
  399.       int disList = console.nextInt();
  400.       addTimeToSwimmer(disList, console);
  401.    }
  402.    
  403.  //Add time / result to Pro Swimmer
  404.    public void addTimeToSwimmer(int tempData, Scanner console)throws Exception{
  405.       String newDisciplin = "";
  406.       switch (tempData){
  407.          case 1:
  408.             newDisciplin = "Butterfly";
  409.             break;
  410.          case 2:
  411.             newDisciplin = "Crawl";
  412.             break;
  413.          case 3:
  414.             newDisciplin = "Rygcrawl";
  415.             break;
  416.          case 4:
  417.             newDisciplin = "Brystsvoemning";
  418.             break;
  419.          case 5:
  420.             newDisciplin = "Hundesvoemning";
  421.             break;
  422.          case 6:
  423.             memberMenu();
  424.             break;
  425.          default:
  426.             System.out.println("Venligst skriv et tal mellem 1-6");
  427.             addTime();
  428.             break;
  429.       }
  430.       listProMembers();
  431.       System.out.println("Hvad er ID paa svoemmeren du vil tilfoeje en tid paa?");
  432.       int ID = console.nextInt();
  433.       System.out.println(memberList.get(ID-1).getName());
  434.       String newName = memberList.get(ID-1).getName();
  435.       System.out.println("Hvad er svoemmerens tid i sekunder?");
  436.       int newTime = console.nextInt();
  437.       System.out.println("Hvad er svoemmerens placering?");
  438.       int newPlacement = console.nextInt();
  439.       System.out.println("Hvilket staevne var det?");
  440.       String newTurnament = console.next();
  441.       System.out.println();
  442.       Result time = new Result(newDisciplin, newName, newTime, newPlacement, newTurnament);
  443.                  
  444.       switch (tempData){
  445.          case 1:
  446.             addTimeToArrayList(time, resultButterfly);
  447.             break;
  448.          case 2:
  449.             addTimeToArrayList(time, resultCrawl);
  450.             break;
  451.          case 3:
  452.             addTimeToArrayList(time, resultRygcrawl);
  453.             break;
  454.          case 4:
  455.             addTimeToArrayList(time, resultBrystsvoemning);
  456.             break;
  457.          case 5:
  458.             addTimeToArrayList(time, resultHundesvoemning);
  459.             break;
  460.          default:
  461.             System.out.println("Venligst skriv et tal mellem 1-5");
  462.             addTime();
  463.             break;
  464.       }
  465.          
  466.    }
  467.    
  468.  //Adds result to ArrayList
  469.    public void addTimeToArrayList(Result time, ArrayList<Result> list)throws Exception{
  470.       list.add(time);
  471.       saveObjects();
  472.       for(int i=0; i<list.size();i++){
  473.          System.out.println(list.get(i));
  474.       }
  475.       System.out.println();
  476.    }
  477.    
  478.  //Creates top 5 menu
  479.    public void topFiveMenu()throws Exception{
  480.       Scanner showTop5 = new Scanner(System.in);
  481.       disciplinList();
  482.       System.out.println("6: Tilbage til main menu");
  483.       int top5Menu = showTop5.nextInt();
  484.      
  485.       switch (top5Menu) {
  486.          case 1:
  487.             printTopFive(resultButterfly);
  488.             topFiveMenu();
  489.             break;
  490.          case 2:
  491.             printTopFive(resultCrawl);
  492.             topFiveMenu();
  493.             break;
  494.          case 3:
  495.             printTopFive(resultRygcrawl);
  496.             topFiveMenu();
  497.             break;
  498.          case 4:
  499.             printTopFive(resultBrystsvoemning);
  500.             topFiveMenu();              
  501.             break;
  502.          case 5:
  503.             printTopFive(resultHundesvoemning);
  504.             topFiveMenu();
  505.             break;
  506.          case 6:
  507.             memberMenu();
  508.             break;
  509.       }
  510.       saveObjects();
  511.    }
  512.  
  513.   //Prints top 5
  514.    public void printTopFive(ArrayList<Result> list)throws Exception{
  515.       Collections.sort(list);
  516.       for(int i=0; i<=4;i++){
  517.          if(list.get(i) != null){
  518.             System.out.println(list.get(i));
  519.             System.out.println("====================\n");
  520.             Thread.sleep(500);
  521.          }
  522.       }
  523.       System.out.println();
  524.    }
  525.    
  526.  
  527.   //PERSISTENCE //////////////////////////////////////////
  528.    
  529.  
  530.   //Allows Persistence Module to load data from file into corresponding Lists
  531.    private void loadObjects() throws Exception {
  532.       memberList = (ArrayList<Members>)PersistenceModule.load("NormalMember", "memberSave.tmp");
  533.       memberList = (ArrayList<Members>)PersistenceModule.load("ProSwimmers", "memberSave.tmp");
  534.       trainerList = (ArrayList<Trainer>)PersistenceModule.load("Trainer", "trainerSave.tmp");
  535.       resultButterfly = (ArrayList<Result>)PersistenceModule.load("Butterfly", "resultButterfly.tmp");
  536.       resultCrawl = (ArrayList<Result>)PersistenceModule.load("Crawl", "resultCrawl.tmp");
  537.       resultRygcrawl = (ArrayList<Result>)PersistenceModule.load("Rygcrawl", "resultRygcrawl.tmp");
  538.       resultBrystsvoemning = (ArrayList<Result>)PersistenceModule.load("Brystsvoemning", "resultBrystsvoemning.tmp");
  539.       resultHundesvoemning = (ArrayList<Result>)PersistenceModule.load("Hundesvoemning", "resultHundesvoemning.tmp");
  540.    }
  541.    
  542.   //Save data to file
  543.    private void saveObjects() throws Exception {
  544.       PersistenceModule.save(memberList, "memberSave.tmp");
  545.       PersistenceModule.save(trainerList, "trainerSave.tmp");
  546.       PersistenceModule.save(resultButterfly, "resultButterfly.tmp");
  547.       PersistenceModule.save(resultCrawl, "resultCrawl.tmp");
  548.       PersistenceModule.save(resultRygcrawl, "resultRygcrawl.tmp");
  549.       PersistenceModule.save(resultBrystsvoemning, "resultBrystsvoemning.tmp");
  550.       PersistenceModule.save(resultHundesvoemning, "resultHundesvoemning.tmp");
  551.    }
  552.  
  553.  //PERSISTENCE END ///////////////////////////////////////
  554.  
  555. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement