Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Arrays;
- import java.util.Comparator;
- import java.util.Scanner;
- import static java.util.Comparator.comparing;
- public class ZadacaMaraton {
- public static void main(String[] args) {
- Scanner input=new Scanner(System.in);
- int n=input.nextInt();
- Atleticar[] atleticari = new Atleticar[n];
- String ime;
- String pol;
- int vozrast;
- double vreme;
- String zemja;
- input.nextLine();
- for(int i=0;i<n;i++)
- {
- ime = input.nextLine();
- pol = input.nextLine();
- vozrast = input.nextInt();
- vreme = input.nextDouble();
- input.nextLine();
- zemja = input.nextLine();
- atleticari[i]=new Atleticar(ime,pol,vozrast,vreme,zemja);
- }
- String mesto;
- int godina;
- String zemjaP;
- mesto = input.nextLine();
- godina = input.nextInt();
- input.nextLine();
- Maraton m1 = new Maraton(mesto, godina, atleticari);
- System.out.print(m1.toString());
- zemjaP = input.nextLine();
- System.out.println("Prvo mesto: " + m1.najdobroVreme().toString());
- System.out.println("Ima vkupno " + m1.atleticariOd(zemjaP) + " atleticar/i od " + zemjaP);
- }
- }
- class Atleticar {
- private String name;
- private String sex;
- private String country;
- private int age;
- private double runningTime;
- public Atleticar(String name, String sex, int age, double runningTime, String country) {
- this.name = name;
- this.sex = sex;
- this.country = country;
- this.age = age;
- this.runningTime = runningTime;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getSex() {
- return sex;
- }
- public void setSex(String sex) {
- this.sex = sex;
- }
- public String getCountry() {
- return country;
- }
- public void setCountry(String country) {
- this.country = country;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- public double getRunningTime() {
- return runningTime;
- }
- public void setRunningTime(double runningTime) {
- this.runningTime = runningTime;
- }
- @Override
- public String toString() {
- return String.format(name + "\n" + age + "\n" + country + "\n" + runningTime + "\n");
- }
- }
- interface IMaraton {
- Atleticar najdobroVreme();
- int atleticariOd(String s);
- }
- class Maraton implements IMaraton {
- private String place;
- private int year;
- private Atleticar[] atlets;
- public Maraton(String place, int year, Atleticar[] atlets) {
- this.place = place;
- this.year = year;
- this.atlets = atlets;
- }
- public String getPlace() {
- return place;
- }
- public void setPlace(String place) {
- this.place = place;
- }
- public int getYear() {
- return year;
- }
- public void setYear(int year) {
- this.year = year;
- }
- public Atleticar[] getAtlets() {
- return atlets;
- }
- public void setAtlets(Atleticar[] atlets) {
- this.atlets = atlets;
- }
- public Atleticar najdobroVreme() {
- final Comparator<Atleticar> comp = comparing(Atleticar::getRunningTime);
- return Arrays.stream(atlets).min(comp).get();
- }
- public int atleticariOd(String s) {
- return (int)Arrays.stream(atlets)
- .filter(atleticar -> atleticar.getCountry().equals(s))
- .count();
- }
- @Override
- public String toString() {
- StringBuilder stringBuilder = new StringBuilder();
- stringBuilder.append(place + "\n");
- stringBuilder.append(year + "\n");
- for (Atleticar a:atlets) {
- stringBuilder.append(a);
- }
- return stringBuilder.toString();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement