algoritmy0599

B

May 29th, 2019
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.18 KB | None | 0 0
  1. package com.company;
  2.  
  3. public class Main {
  4.  
  5. public static void main(String[] args) {
  6. String[] startovniListina = {
  7. "Gabriela Koukalová", "Klára Moravcová",
  8. "Lucie Charvátová", "Jitka Landová",
  9. "Markéta Davidová", "Veronika Vítková",
  10. "Eva Puskarčíkova", "Kateřina Holubcová", "Jana Vápeníková", "Irena Česneková"};
  11.  
  12.  
  13.  
  14. BiatlonovyZavod zavod = new BiatlonovyZavod(startovniListina);
  15.  
  16. zavod.prvniBezeckyUsek();
  17. zavod.prvniStrelba();
  18.  
  19. zavod.seradPodleCasu();
  20. zavod.vypis(1);
  21. System.out.println();
  22.  
  23. zavod.druhyBezeckyUsek();
  24. zavod.druhaStrelba();
  25.  
  26. zavod.seradPodleCasu();
  27. zavod.vypis(2);
  28. System.out.println();
  29.  
  30. zavod.tretiBezeckyUsek();
  31.  
  32. zavod.seradPodleCasu();
  33. zavod.vypis(3);
  34.  
  35. }
  36.  
  37. }
  38.  
  39.  
  40.  
  41.  
  42. package com.company;
  43.  
  44. import java.util.Random;
  45.  
  46. public class BiatlonovyZavod {
  47.  
  48. Zavodnik[] zavodnici;
  49.  
  50. public BiatlonovyZavod(String[] startovniListina) {
  51. if (startovniListina != null && startovniListina.length > 0) {
  52. this.zavodnici = new Zavodnik[startovniListina.length];
  53.  
  54. for (int i = 0; i < startovniListina.length; i++) {
  55. Zavodnik zavodnik = new Zavodnik();
  56. zavodnik.setJmeno(startovniListina[i]);
  57. zavodnici[i] = zavodnik;
  58. }
  59. }
  60. else {
  61. this.zavodnici = null;
  62. }
  63. }
  64.  
  65. public double generujCas() {
  66. Random random = new Random();
  67. double cas = random.nextDouble()*5 + 5;
  68. return cas;
  69. }
  70.  
  71. public int generujPocetChyb() {
  72. Random random = new Random();
  73. int pocet = random.nextInt(6);
  74. return pocet;
  75. }
  76.  
  77. public void prvniBezeckyUsek() {
  78. if (zavodnici == null) return;
  79.  
  80. double cas;
  81.  
  82. for (int i = 0; i < zavodnici.length; i++) {
  83. cas = generujCas();
  84. zavodnici[i].setPrvniUsek(cas);
  85. zavodnici[i].setPrictiCas(cas);
  86. }
  87. }
  88.  
  89. public void prvniStrelba() {
  90. if (zavodnici == null) return;
  91.  
  92. int chyby;
  93.  
  94. if (zavodnici != null) {
  95. for (int i = 0; i < zavodnici.length; i++) {
  96. chyby = generujPocetChyb();
  97. zavodnici[i].setPrvniStrelba(chyby);
  98. zavodnici[i].setPrictiCas((double) chyby);
  99. }
  100. }
  101. }
  102.  
  103. public void druhyBezeckyUsek() {
  104. if (zavodnici == null) return;
  105.  
  106. double cas;
  107.  
  108. for (int i = 0; i < zavodnici.length; i++) {
  109. cas = generujCas();
  110. zavodnici[i].setDruhyUsek(cas);
  111. zavodnici[i].setPrictiCas(cas);
  112. }
  113. }
  114.  
  115. public void druhaStrelba() {
  116. if (zavodnici == null) return;
  117.  
  118. int chyby;
  119.  
  120. for (int i = 0; i < zavodnici.length; i++) {
  121. chyby = generujPocetChyb();
  122. zavodnici[i].setDruhaStrelba(chyby);
  123. zavodnici[i].setPrictiCas((double) chyby);
  124. }
  125. }
  126.  
  127. public void tretiBezeckyUsek() {
  128. if (zavodnici == null) return;
  129.  
  130. double cas;
  131.  
  132. for (int i = 0; i < zavodnici.length; i++) {
  133. cas = generujCas();
  134. zavodnici[i].setTretiUsek(cas);
  135. zavodnici[i].setPrictiCas(cas);
  136. }
  137. }
  138. //bubble sort podle celkového času
  139.  
  140. public void seradPodleCasu() {
  141. if (this.zavodnici == null) return;
  142.  
  143. for (int i = 0; i < this.zavodnici.length - 1; i++) {
  144. for (int j = 0; j < this.zavodnici.length - i - 1; j++) {
  145. if (this.zavodnici[j].getCelkovyCas() > this.zavodnici[j+1].getCelkovyCas()) {
  146. Zavodnik pom = this.zavodnici[j];
  147. this.zavodnici[j] = this.zavodnici[j+1];
  148. this.zavodnici[j+1] = pom;
  149. }
  150. }
  151. }
  152. }
  153.  
  154.  
  155. public void vypis(int usek) {
  156. String hlavicka;
  157. String text;
  158.  
  159. hlavicka = String.format("%-6s", "Pořad.");
  160. hlavicka += String.format("%-27s", "Jméno");
  161.  
  162. if (usek == 1 || usek == 2) {
  163. System.out.println("Průběžné pořadí po " + usek + ". střelbě");
  164. System.out.println(" ");
  165.  
  166. hlavicka += String.format("%-17s", "Čas" +" "+ usek + ".úseku");
  167. hlavicka += String.format("%-20s", "Chyby střelby");
  168. hlavicka += String.format("%-20s", "Aktuální čas");
  169. }
  170. else {
  171. System.out.println("Konečné pořadí závodu");
  172. System.out.println(" ");
  173. hlavicka += String.format("%-18s", "Výsledný čas");
  174. hlavicka += String.format("%-20s", "Celkem chyb");
  175. hlavicka += String.format("%-20s", "Běžecký čas");
  176. }
  177.  
  178. System.out.println(hlavicka);
  179.  
  180. for (int i = 0; i < zavodnici.length; i++) {
  181. text = String.format("%-6s", String.valueOf(i+1) + ".");
  182. text += String.format("%-27s", zavodnici[i].getJmeno());
  183.  
  184. if (usek == 1) {
  185. text += String.format( "%-18.2f",zavodnici[i].getPrvniUsek());
  186. text += String.format("%-20d", zavodnici[i].getPrvniStrelba());
  187. text += String.format("%-10.2f", zavodnici[i].getCelkovyCas());
  188. }
  189. else if (usek == 2) {
  190. text += String.format("%-18.2f", zavodnici[i].getDruhyUsek());
  191. text += String.format("%-20d", zavodnici[i].getDruhaStrelba());
  192. text += String.format("%-10.2f", zavodnici[i].getCelkovyCas());
  193. }
  194. else {
  195. text += String.format("%-18.2f", zavodnici[i].getCelkovyCas());
  196. text += String.format("%-20d", zavodnici[i].getPrvniStrelba() + zavodnici[i].getDruhaStrelba());
  197. text += String.format("%-10.2f", zavodnici[i].getPrvniUsek() + zavodnici[i].getDruhyUsek() + zavodnici[i].getTretiUsek());
  198. }
  199.  
  200. System.out.println(text);
  201. }
  202. }
  203.  
  204.  
  205. }
  206.  
  207.  
  208. package com.company;
  209.  
  210. public class Zavodnik {
  211.  
  212. private String jmeno;
  213. private int startovniCislo, prvniStrelba, druhaStrelba;
  214. private double prvniUsek, druhyUsek, tretiUsek, celkovyCas;
  215.  
  216.  
  217. public String getJmeno() {
  218. return jmeno;
  219. }
  220.  
  221. public void setJmeno(String jmeno) {
  222. this.jmeno = jmeno;
  223. }
  224.  
  225. public double getPrvniUsek() {
  226. return prvniUsek;
  227. }
  228.  
  229. public void setPrvniUsek(double prvniUsek) {
  230. this.prvniUsek = prvniUsek;
  231. }
  232.  
  233. public double getDruhyUsek() {
  234. return druhyUsek;
  235. }
  236.  
  237. public void setDruhyUsek(double druhyUsek) {
  238. this.druhyUsek = druhyUsek;
  239. }
  240.  
  241. public double getTretiUsek() {
  242. return tretiUsek;
  243. }
  244.  
  245. public void setTretiUsek(double tretiUsek) {
  246. this.tretiUsek = tretiUsek;
  247. }
  248.  
  249. public int getStartovniCislo() {
  250. return startovniCislo;
  251. }
  252.  
  253. public void setStartovniCislo(int startovniCislo) {
  254. this.startovniCislo = startovniCislo;
  255. }
  256.  
  257. public int getPrvniStrelba() {
  258. return prvniStrelba;
  259. }
  260.  
  261. public void setPrvniStrelba(int prvniStrelba) {
  262. this.prvniStrelba = prvniStrelba;
  263. }
  264.  
  265. public int getDruhaStrelba() {
  266. return druhaStrelba;
  267. }
  268.  
  269. public void setDruhaStrelba(int druhaStrelba) {
  270. this.druhaStrelba = druhaStrelba;
  271. }
  272. public double getCelkovyCas() {
  273. return celkovyCas;
  274. }
  275.  
  276. public void setCelkovyCas(double celkovyCas) {
  277. this.celkovyCas = celkovyCas;
  278. }
  279.  
  280. public void setPrictiCas(double cas) {
  281. this.celkovyCas += cas;
  282. }
  283.  
  284. }
Advertisement
Add Comment
Please, Sign In to add comment