196040

APS labs 1 Maraton

Oct 17th, 2020 (edited)
247
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.45 KB | None | 0 0
  1. import java.util.Scanner;
  2.  class Atleticar { //Да се дефинира класа Atleticar.
  3.     private String ime; // За секој атлетичар се чуваат податоци за име String,
  4.     private String pol;// пол String,
  5.     private int vozrast;// возраст int и
  6.     private double vreme;// време на истрчување изразено во секунди double и
  7.     private String zemja;// земја на потекло String.
  8.     public Atleticar() { //конструктори (default
  9.         this.ime = "Unknown";
  10.         this.pol = "Unknown";
  11.         this.vozrast = 18;
  12.         this.vreme = 0;
  13.         this.zemja = "Unknown";
  14.     }
  15.     public Atleticar(String ime, String pol, int vozrast, double vreme, String zemja) {// и со параметри)
  16.         this.ime = ime;
  17.         this.pol = pol;
  18.         this.vozrast = vozrast;
  19.         this.vreme = vreme;
  20.         this.zemja = zemja;
  21.     }
  22.     public String getIme() {//set и get методи
  23.         return this.ime;
  24.     }
  25.     public String getZemja() {
  26.         return this.zemja;
  27.     }
  28.     @Override
  29.     public String toString() { //toString() -
  30.         return ime + "\n" + vozrast + "\n" + zemja + "\n" + vreme; // формат: име / возраст /
  31.     } // земја на потекло / време на истрчување (сите параметри одделени со празно место)
  32.     public double getVreme() {
  33.         return vreme;
  34.     }
  35.     public String getPol() {
  36.         return this.pol;
  37.     }
  38.     public void setVozrast(int vozrast) {
  39.         this.vozrast = vozrast;
  40.     }
  41.     public void setZemja(String zemja) {
  42.         this.zemja = zemja;
  43.     }
  44.     public int getVozrast() {
  45.         return vozrast;
  46.     }
  47.     public void setIme(String ime) {
  48.         this.ime = ime;
  49.     }
  50.     public void setPol(String pol) {
  51.         this.pol = pol;
  52.     }
  53.     public void setVreme(double vreme) {
  54.         this.vreme = vreme;
  55.     }
  56. }
  57. interface IMaraton { //Да се дефинира интерфејс IMaraton со методи:
  58.     public Atleticar najdobroVreme();  //Atleticar najdobroVreme() -го враќапобедникот намаратонот
  59.     public int atleticariOd(String s);  //int atleticariOd(String s) -
  60. }
  61.  class Maraton implements IMaraton { //Да се дефинира класа Maraton што го имплементира интерфејсот IMaraton.
  62.     private String mesto; //За секој маратонот се чуваат податоци за местото на одржување String,
  63.     private int godina;// година int,
  64.     private Atleticar[] atleticari;//низа од атлетичари Atleticar[]. За оваа класа да се имплементираат:
  65.     public Maraton() { //конструктори (default
  66.         this.mesto = "Unknown";
  67.         this.godina = 2020;
  68.         this.atleticari = new Atleticar[10];
  69.     }// и со параметри)
  70.     public Maraton(String mesto, int godina, Atleticar[] atleticari) {
  71.         this.mesto = mesto;
  72.         this.godina = godina;
  73.         this.atleticari = atleticari;
  74.     }
  75.     @Override
  76.     public String toString() { //toString() -
  77.         String novo = this.mesto + "\n" + this.godina + "\n";
  78.         for(int i=0;i<atleticari.length;i++)
  79.             novo = novo + atleticari[i].toString() + "\n";
  80.        return novo; // место на одржување / година /
  81.     } // атлетичарите учесници на маратонот (сите параметри одделени со нов ред)
  82.     @Override
  83.     public Atleticar najdobroVreme() {
  84.         int indeks = 0;
  85.         double temp = atleticari[0].getVreme();
  86.         for (int i = 0; i < this.atleticari.length; i++)
  87.             if (atleticari[i].getVreme() < temp) {
  88.                 temp = atleticari[i].getVreme();
  89.                 indeks = i;
  90.             }
  91.         return atleticari[indeks];
  92.     }
  93.     @Override
  94.     public int atleticariOd(String s) {
  95.         int counter = 0; //го враќа бројот на атлетичари со земја на потекло s.
  96.         for (int i = 0; i < this.atleticari.length; i++)
  97.             if (s.equals(atleticari[i].getZemja()))
  98.                 counter++;
  99.         return counter;
  100.     }
  101. }
  102. public class ZadacaMaraton {
  103.     public static void main(String[] args) {
  104.         Scanner input=new Scanner(System.in);
  105.         int n=input.nextInt();
  106.         Atleticar[] atleticari = new Atleticar[n];
  107.         String ime;
  108.         String pol;
  109.         int vozrast;
  110.         double vreme;
  111.         String zemja;
  112.         input.nextLine();  
  113.         for(int i=0;i<n;i++)
  114.         {
  115.             ime = input.nextLine();
  116.             pol = input.nextLine();
  117.             vozrast = input.nextInt();
  118.             vreme = input.nextDouble();
  119.             input.nextLine();
  120.             zemja = input.nextLine();
  121.             atleticari[i]=new Atleticar(ime,pol,vozrast,vreme,zemja);
  122.         }
  123.         String mesto;
  124.         int godina;
  125.         String zemjaP;
  126.         mesto = input.nextLine();
  127.         godina = input.nextInt();
  128.         input.nextLine();
  129.         Maraton m1 = new Maraton(mesto, godina, atleticari);
  130.         System.out.print(m1.toString());      
  131.         zemjaP = input.nextLine();
  132.         System.out.println("Prvo mesto: " + m1.najdobroVreme().toString());
  133.         System.out.println("\nIma vkupno " + m1.atleticariOd(zemjaP) + " atleticar/i od " + zemjaP);
  134.     }
  135. }
Add Comment
Please, Sign In to add comment