Advertisement
MrSnoopy

Dice- java example

Jan 17th, 2016
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.82 KB | None | 0 0
  1. import java.util.Random;
  2.  
  3. public class Dice {
  4.     // int ma inicializacni hodnotu "0"
  5.     private int actualValue;
  6.     private int numOfSides;
  7.  
  8.     // static znaci konstanty (jejich hodnota se musi definovat predem, ale je
  9.     // dobre je pouzivat kvuli praci s pameti a lepsi modifikovatelnosti kodu-
  10.     // aby se potom dana promenna nemusela menit na milionech mistech)
  11.     // fungovalo by to, i kdyz se smaze klic. slovo "static"
  12.     private static int MIN = 3;
  13.     private static int MAX = 20;
  14.  
  15.     /**
  16.      * Konstruktor
  17.      *
  18.      * @param sidesCount
  19.      *            pocet stran, pokud je mensi nez 3, nastavi se tri, pokud vetsi
  20.      *            nez 20, nastavi se hodnota 20, jinak se nastavi predana
  21.      *            hodnota
  22.      */
  23.     public Dice(int sidesCount) {
  24.         // teoreticky by tu nemuselo byt, ale pro jistotu (je to lepsi- napr.
  25.         // String ma init hodnotu "null")
  26.         actualValue = 0;
  27.  
  28.         if (sidesCount < this.MIN) {
  29.             // pokud je zadane cislo mensi nez 3 a zapis hodnotu 3 a vypis do
  30.             // konzole
  31.             numOfSides = this.MIN;
  32.             System.out.println("Bylo zadano cislo mensi nez " + this.MIN
  33.                     + ", promenna nastavena na hodnotu " + this.MIN);
  34.         } else if (sidesCount > this.MAX) {
  35.             // pokud je zadano vice nez 20, nastav 20 a vypis do konzole
  36.             numOfSides = MAX;
  37.             System.out.println("Bylo zadano cislo vetsi nez " + this.MAX
  38.                     + ", promenna nastavena na hodnotu " + this.MAX);
  39.         } else {
  40.             // v kazdem jinem pripade (tj. hodnoty mezi 3 a 20) nastav do
  41.             // promenne
  42.             System.out.println("Zadane cislo je ok, nastaveno");
  43.             numOfSides = sidesCount;
  44.         }
  45.     }
  46.  
  47.     /**
  48.      * Public metoda- tudiz je mozne ji zavolat v jinych casti programu (private
  49.      * pouze v dane tride, protected v danem package)
  50.      *
  51.      * @return int v mezich od nuly do hodnoty numOfSides
  52.      */
  53.     public int roll() {
  54.         this.actualValue = new Random().nextInt(this.numOfSides);
  55.         // ukazatel "this" dava najevo, ze se jedna o promennou tridy, neni
  56.         // nutny, ale je sikovny, pokud se parametr metody jmenuje stejne jako
  57.         // nejaka promenna tridy- aby se rozeznaly promenne
  58.         return this.actualValue;
  59.     }
  60.  
  61.     // getter nedela nic jineho, nez ze vrati aktualni hodnotu promenne (jinak
  62.     // je to metoda jako kazda jina)- pokud by byly promenne public, jsou
  63.     // zbytecne (protoze by promenne byly videtelne i bez getteru a hodnota by
  64.     // sla cist a zapisovat naprimo pres tecku)
  65.     public int getActualValue() {
  66.         return actualValue;
  67.     }
  68.  
  69.     // setter pouze nastavuje hodnotu internich promennych (pokud by byly
  70.     // promenne public, jsou zbytecne)
  71.     public void setActualValue(int actualValue) {
  72.         this.actualValue = actualValue;
  73.     }
  74.  
  75.     /**
  76.      * Getter kvuli potomkovi
  77.      * @return
  78.      */
  79.     public int getNumOfSides() {
  80.         return numOfSides;
  81.     }
  82.    
  83.     @Override
  84.     public String toString() {
  85.         return "pocet stran: " + this.numOfSides + ", aktualni hodnota: " + this.actualValue;
  86.     }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement