MiaShuki

Maraton.java

Oct 20th, 2020 (edited)
855
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Маратон Problem 1 (0 / 0)
  2. Да се дефинира интерфејс IMaraton со методи:
  3.  
  4. Atleticar najdobroVreme() - го враќа победникот на маратонот
  5. int atleticariOd(String s) - го враќа бројот на атлетичари со земја на потекло s.
  6. Да се дефинира класа Atleticar. За секој атлетичар се чуваат податоци за име String, пол String, возраст int и време на истрчување изразено во секунди double и земја на потекло String. За оваа класа треба да се на располагање следните методи:
  7.  
  8. конструктори (default и со параметри)
  9. set и get методи
  10. toString() - формат: име / возраст / земја на потекло / време на истрчување (сите параметри одделени со празно место)
  11. Да се дефинира класа Maraton што го имплементира интерфејсот IMaraton. За секој маратонот се чуваат податоци за местото на одржување String, година int, низа од атлетичари Atleticar[]. За оваа класа да се имплементираат:
  12.  
  13. конструктори (default и со параметри)
  14. set и get методи
  15. toString() - место на одржување / година / атлетичарите учесници на маратонот (сите параметри одделени со нов ред)
  16. najdobroVreme()
  17. atleticariOd(String s)
  18.  
  19.  
  20. import java.util.Arrays;
  21. import java.util.Scanner;
  22.  
  23. interface IMaraton {
  24.     Atleticar najdobroVreme();
  25.     int atleticariOd(String s);
  26. }
  27.  
  28. class Maraton implements IMaraton{
  29.     private String mesto;
  30.     private int godina;
  31.     private Atleticar[] atleticars;
  32.  
  33.     public Maraton(String mesto, int godina, Atleticar[] atleticars) {
  34.         this.mesto = mesto;
  35.         this.godina = godina;
  36.         this.atleticars = atleticars;
  37.     }
  38.  
  39.     public String getMesto() {
  40.         return mesto;
  41.     }
  42.  
  43.     public void setMesto(String mesto) {
  44.         this.mesto = mesto;
  45.     }
  46.  
  47.     public int getGodina() {
  48.         return godina;
  49.     }
  50.  
  51.     public void setGodina(int godina) {
  52.         this.godina = godina;
  53.     }
  54.  
  55.     public Atleticar[] getAtleticars() {
  56.         return atleticars;
  57.     }
  58.  
  59.     public void setAtleticars(Atleticar[] atleticars) {
  60.         this.atleticars = atleticars;
  61.     }
  62.  
  63.     @Override
  64.     public String toString() {
  65.         String print;
  66.         print =  mesto + "\n " + godina + "\n ";
  67.         for(int i = 0; i < atleticars.length; i++)
  68.            print += atleticars[i].toString() + "\n" ;
  69.         return  print;
  70.     }
  71.  
  72.     @Override
  73.     public Atleticar najdobroVreme() {
  74.         int winner = 0;
  75.         double bestTime = atleticars[0].getVreme();
  76.         for (int i = 0; i<atleticars.length; i++){
  77.             if (bestTime > atleticars[i].getVreme()){
  78.                 bestTime = atleticars[i].getVreme();
  79.                 winner = 1;
  80.             }
  81.         }
  82.         return atleticars[winner];
  83.     }
  84.  
  85.     @Override
  86.     public int atleticariOd(String s) {
  87.         int suma = 0;
  88.         for (int i = 0; i<atleticars.length; i++)
  89.             if(atleticars[i].getPoteklo().equals(s))
  90.                 suma++;
  91.         return suma;
  92.     }
  93. }
  94.  
  95.  
  96. class Atleticar {
  97.     private String ime ;
  98.     private String pol ;
  99.     private int vozrast;
  100.     private double vreme;
  101.     private String poteklo;
  102.  
  103.  
  104.     public Atleticar(String ime, String pol, int vozrast, double vreme, String poteklo) {
  105.         this.ime = ime;
  106.         this.pol = pol;
  107.         this.vozrast = vozrast;
  108.         this.vreme = vreme;
  109.         this.poteklo = poteklo;
  110.     }
  111.  
  112.     public String getIme() {
  113.         return ime;
  114.     }
  115.  
  116.     public void setIme(String ime) {
  117.         this.ime = ime;
  118.     }
  119.  
  120.     public String getPol() {
  121.         return pol;
  122.     }
  123.  
  124.     public void setPol(String pol) {
  125.         this.pol = pol;
  126.     }
  127.  
  128.     public int getVozrast() {
  129.         return vozrast;
  130.     }
  131.  
  132.     public void setVozrast(int vozrast) {
  133.         this.vozrast = vozrast;
  134.     }
  135.  
  136.     public double getVreme() {
  137.         return vreme;
  138.     }
  139.  
  140.     public void setVreme(double vreme) {
  141.         this.vreme = vreme;
  142.     }
  143.  
  144.     public String getPoteklo() {
  145.         return poteklo;
  146.     }
  147.  
  148.     public void setPoteklo(String poteklo) {
  149.         this.poteklo = poteklo;
  150.     }
  151.  
  152.     @Override
  153.     public String toString() {
  154.         return ime + "\n" + vozrast+ "\n" + poteklo+ "\n" + vreme;
  155.     }
  156. }
  157.  
  158.  
  159. public class ZadacaMaraton {
  160.  
  161.     public static void main(String[] args) {
  162.         Scanner input=new Scanner(System.in);
  163.         int n=input.nextInt();
  164.         Atleticar[] atleticari = new Atleticar[n];
  165.        
  166.         String ime;
  167.         String pol;
  168.         int vozrast;
  169.         double vreme;
  170.         String zemja;
  171.        
  172.         input.nextLine();
  173.            
  174.         for(int i=0;i<n;i++)
  175.         {
  176.             ime = input.nextLine();
  177.             pol = input.nextLine();
  178.             vozrast = input.nextInt();
  179.             vreme = input.nextDouble();
  180.             input.nextLine();
  181.             zemja = input.nextLine();
  182.             atleticari[i]=new Atleticar(ime,pol,vozrast,vreme,zemja);
  183.         }
  184.        
  185.         String mesto;
  186.         int godina;
  187.         String zemjaP;
  188.         mesto = input.nextLine();
  189.         godina = input.nextInt();
  190.         input.nextLine();
  191.        
  192.         Maraton m1 = new Maraton(mesto, godina, atleticari);
  193.         System.out.print(m1.toString());
  194.        
  195.         zemjaP = input.nextLine();
  196.         System.out.println("Prvo mesto: " + m1.najdobroVreme().toString());
  197.         System.out.println("Ima vkupno " + m1.atleticariOd(zemjaP) + " atleticar/i od " + zemjaP);
  198.     }
  199. }
  200.  
RAW Paste Data