HayCZ

Java - Anežka Sec

Apr 26th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.47 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package annyapp;
  7.  
  8. /**
  9.  *
  10.  * @author Administrátor
  11.  */
  12. public class Student {
  13.  
  14.     private final int[] znamky; //Pole známek
  15.     public final String jmeno; //String Jméno
  16.     public final String prijmeni; //String Příjmení
  17.  
  18.     /*
  19.      Deklarace třídy Sudent s parametry Jméno, Příjmení, délka pole)
  20.      */
  21.     public Student(String jmeno, String prijmeni, int velikostPole) {
  22.         this.znamky = new int[velikostPole];
  23.         this.jmeno = jmeno;
  24.         this.prijmeni = prijmeni;
  25.     }
  26.  
  27.     /** public int dejNahodnouZnamku - Veřejná vracející(int) metoda
  28.      *  metoda pro generování náhodné známky
  29.      * @return vrací náhodnou známku
  30.      */      
  31.     public int dejNahodnouZnamku() {
  32.         return (int) Math.round(Math.random() * (5 - 1) + 1);
  33.     }
  34.  
  35.     /** public void generujZnamky() - veřejná nevracející metoda
  36.      *  Naplní pole známky náhodnými známkami.
  37.      */
  38.     public void generujZnamky() {
  39.         for (int i = 0; i < znamky.length; i++) { //For - Cyklus s určitým počtem opakování
  40.             znamky[i] = dejNahodnouZnamku(); //přiřadí do pole známky[pozice] náhodnou známku.
  41.         }
  42.     }
  43.  
  44.     /** public void vypisZnamky() - veřejná nevracející metoda
  45.      * Vypíše známky z pole a přemnění je na A,B,C,D,E
  46.      */
  47.     public void vypisZnamky() {
  48.         for (int i = 0; i < znamky.length; i++) { //Cyklus s určitým počtem opakování
  49.             String print = null; //Vytvoření proměnné
  50.             switch (znamky[i]) { //Switch(rozhodovací hodnota)
  51.                 case 1: //V případě, že i je jedna
  52.                     print = "A"; //Hodnota = A
  53.                     break; //Konec
  54.                 case 2:
  55.                     print = "B";
  56.                     break;
  57.                 case 3:
  58.                     print = "C";
  59.                     break;
  60.                 case 4:
  61.                     print = "D";
  62.                     break;
  63.                 case 5:
  64.                     print = "E";
  65.                     break;
  66.             }
  67.             System.out.print(print + " "); //Vypsání string hodnoty
  68.         }
  69.         System.out.println(); //Nový řádek
  70.     }
  71.  
  72.     /**
  73.      * Třízení známek - bubblesort
  74.      */
  75.     public void seridZnamky() {
  76.         for (int i = 0; i < znamky.length - 1; i++) { //Cyklus s určitým počtem opakování
  77.             for (int j = 0; j < znamky.length - i - 1; j++) { //Cyklus s určitým počtem opakování
  78.                 if (znamky[j] < znamky[j + 1]) {
  79.                     int tmp = znamky[j];
  80.                     znamky[j] = znamky[j + 1];
  81.                     znamky[j + 1] = tmp;
  82.                 }
  83.             }
  84.         }
  85.     }
  86.  
  87.     /** public float dejPrumernouZnamku() - veřejná vracející(float) metoda
  88.      * Vrací průměrnou známku
  89.      * @return Průměrná známka
  90.      */
  91.     public float dejPrumernouZnamku() {
  92.         float soucet = 0; //Proměnná pro součet
  93.         for (int i = 0; i < znamky.length; i++) { //FOR - cyklus s určitým počtem opakování
  94.             soucet += znamky[i]; //Přičtení známky z pole do proměnné součet.
  95.         }
  96.         float vysledek = (soucet / znamky.length); //Výpočet výsledku
  97.         return vysledek; //Return - vrácení hodnoty výsledek
  98.     }
  99. }
Add Comment
Please, Sign In to add comment