Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- public class Main {
- public static void main(String[] args) {
- String[] startovniListina = {
- "Gabriela Koukalová", "Klára Moravcová",
- "Lucie Charvátová", "Jitka Landová",
- "Markéta Davidová", "Veronika Vítková",
- "Eva Puskarčíkova", "Kateřina Holubcová", "Jana Vápeníková", "Irena Česneková"};
- BiatlonovyZavod zavod = new BiatlonovyZavod(startovniListina);
- zavod.prvniBezeckyUsek();
- zavod.prvniStrelba();
- zavod.seradPodleCasu();
- zavod.vypis(1);
- System.out.println();
- zavod.druhyBezeckyUsek();
- zavod.druhaStrelba();
- zavod.seradPodleCasu();
- zavod.vypis(2);
- System.out.println();
- zavod.tretiBezeckyUsek();
- zavod.seradPodleCasu();
- zavod.vypis(3);
- }
- }
- package com.company;
- import java.util.Random;
- public class BiatlonovyZavod {
- Zavodnik[] zavodnici;
- public BiatlonovyZavod(String[] startovniListina) {
- if (startovniListina != null && startovniListina.length > 0) {
- this.zavodnici = new Zavodnik[startovniListina.length];
- for (int i = 0; i < startovniListina.length; i++) {
- Zavodnik zavodnik = new Zavodnik();
- zavodnik.setJmeno(startovniListina[i]);
- zavodnici[i] = zavodnik;
- }
- }
- else {
- this.zavodnici = null;
- }
- }
- public double generujCas() {
- Random random = new Random();
- double cas = random.nextDouble()*5 + 5;
- return cas;
- }
- public int generujPocetChyb() {
- Random random = new Random();
- int pocet = random.nextInt(6);
- return pocet;
- }
- public void prvniBezeckyUsek() {
- if (zavodnici == null) return;
- double cas;
- for (int i = 0; i < zavodnici.length; i++) {
- cas = generujCas();
- zavodnici[i].setPrvniUsek(cas);
- zavodnici[i].setPrictiCas(cas);
- }
- }
- public void prvniStrelba() {
- if (zavodnici == null) return;
- int chyby;
- if (zavodnici != null) {
- for (int i = 0; i < zavodnici.length; i++) {
- chyby = generujPocetChyb();
- zavodnici[i].setPrvniStrelba(chyby);
- zavodnici[i].setPrictiCas((double) chyby);
- }
- }
- }
- public void druhyBezeckyUsek() {
- if (zavodnici == null) return;
- double cas;
- for (int i = 0; i < zavodnici.length; i++) {
- cas = generujCas();
- zavodnici[i].setDruhyUsek(cas);
- zavodnici[i].setPrictiCas(cas);
- }
- }
- public void druhaStrelba() {
- if (zavodnici == null) return;
- int chyby;
- for (int i = 0; i < zavodnici.length; i++) {
- chyby = generujPocetChyb();
- zavodnici[i].setDruhaStrelba(chyby);
- zavodnici[i].setPrictiCas((double) chyby);
- }
- }
- public void tretiBezeckyUsek() {
- if (zavodnici == null) return;
- double cas;
- for (int i = 0; i < zavodnici.length; i++) {
- cas = generujCas();
- zavodnici[i].setTretiUsek(cas);
- zavodnici[i].setPrictiCas(cas);
- }
- }
- //bubble sort podle celkového času
- public void seradPodleCasu() {
- if (this.zavodnici == null) return;
- for (int i = 0; i < this.zavodnici.length - 1; i++) {
- for (int j = 0; j < this.zavodnici.length - i - 1; j++) {
- if (this.zavodnici[j].getCelkovyCas() > this.zavodnici[j+1].getCelkovyCas()) {
- Zavodnik pom = this.zavodnici[j];
- this.zavodnici[j] = this.zavodnici[j+1];
- this.zavodnici[j+1] = pom;
- }
- }
- }
- }
- public void vypis(int usek) {
- String hlavicka;
- String text;
- hlavicka = String.format("%-6s", "Pořad.");
- hlavicka += String.format("%-27s", "Jméno");
- if (usek == 1 || usek == 2) {
- System.out.println("Průběžné pořadí po " + usek + ". střelbě");
- System.out.println(" ");
- hlavicka += String.format("%-17s", "Čas" +" "+ usek + ".úseku");
- hlavicka += String.format("%-20s", "Chyby střelby");
- hlavicka += String.format("%-20s", "Aktuální čas");
- }
- else {
- System.out.println("Konečné pořadí závodu");
- System.out.println(" ");
- hlavicka += String.format("%-18s", "Výsledný čas");
- hlavicka += String.format("%-20s", "Celkem chyb");
- hlavicka += String.format("%-20s", "Běžecký čas");
- }
- System.out.println(hlavicka);
- for (int i = 0; i < zavodnici.length; i++) {
- text = String.format("%-6s", String.valueOf(i+1) + ".");
- text += String.format("%-27s", zavodnici[i].getJmeno());
- if (usek == 1) {
- text += String.format( "%-18.2f",zavodnici[i].getPrvniUsek());
- text += String.format("%-20d", zavodnici[i].getPrvniStrelba());
- text += String.format("%-10.2f", zavodnici[i].getCelkovyCas());
- }
- else if (usek == 2) {
- text += String.format("%-18.2f", zavodnici[i].getDruhyUsek());
- text += String.format("%-20d", zavodnici[i].getDruhaStrelba());
- text += String.format("%-10.2f", zavodnici[i].getCelkovyCas());
- }
- else {
- text += String.format("%-18.2f", zavodnici[i].getCelkovyCas());
- text += String.format("%-20d", zavodnici[i].getPrvniStrelba() + zavodnici[i].getDruhaStrelba());
- text += String.format("%-10.2f", zavodnici[i].getPrvniUsek() + zavodnici[i].getDruhyUsek() + zavodnici[i].getTretiUsek());
- }
- System.out.println(text);
- }
- }
- }
- package com.company;
- public class Zavodnik {
- private String jmeno;
- private int startovniCislo, prvniStrelba, druhaStrelba;
- private double prvniUsek, druhyUsek, tretiUsek, celkovyCas;
- public String getJmeno() {
- return jmeno;
- }
- public void setJmeno(String jmeno) {
- this.jmeno = jmeno;
- }
- public double getPrvniUsek() {
- return prvniUsek;
- }
- public void setPrvniUsek(double prvniUsek) {
- this.prvniUsek = prvniUsek;
- }
- public double getDruhyUsek() {
- return druhyUsek;
- }
- public void setDruhyUsek(double druhyUsek) {
- this.druhyUsek = druhyUsek;
- }
- public double getTretiUsek() {
- return tretiUsek;
- }
- public void setTretiUsek(double tretiUsek) {
- this.tretiUsek = tretiUsek;
- }
- public int getStartovniCislo() {
- return startovniCislo;
- }
- public void setStartovniCislo(int startovniCislo) {
- this.startovniCislo = startovniCislo;
- }
- public int getPrvniStrelba() {
- return prvniStrelba;
- }
- public void setPrvniStrelba(int prvniStrelba) {
- this.prvniStrelba = prvniStrelba;
- }
- public int getDruhaStrelba() {
- return druhaStrelba;
- }
- public void setDruhaStrelba(int druhaStrelba) {
- this.druhaStrelba = druhaStrelba;
- }
- public double getCelkovyCas() {
- return celkovyCas;
- }
- public void setCelkovyCas(double celkovyCas) {
- this.celkovyCas = celkovyCas;
- }
- public void setPrictiCas(double cas) {
- this.celkovyCas += cas;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment