Advertisement
Smudla

CV2_IOOP

Oct 13th, 2015
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.14 KB | None | 0 0
  1. package koule;
  2.  
  3. /**
  4.  *
  5.  * @author Smudla
  6.  */
  7. public class Koule {
  8.    
  9.     public static final double MAX_POLOMER = 10;
  10.     public static final double MAX_MERNA_HMOTNOST = 100;
  11.     public static final double PI = Math.PI;
  12.     static int pocetInstanci;
  13.     private double mernaHmotnost;
  14.     private BarvaTvaru barva;
  15.     private double hmotnost;
  16.     private double objem;
  17.     private double povrch;
  18.     private long polomer;
  19.  
  20.     public Koule() {
  21.         ++pocetInstanci;
  22.         barva = BarvaTvaru.CERNA;
  23.     }
  24.  
  25.     private void vypocitejHmotnost() {
  26.         this.hmotnost = ((mernaHmotnost*1000) * objem);
  27.     }
  28.  
  29.     private void vypocitejPovrch() {
  30.         this.povrch = (4 * PI) * (polomer/1000.*polomer/1000.);
  31.        
  32.     }
  33.  
  34.     private void vypocitejObjem() {
  35.         this.objem = ((double) 4 / 3) * PI * (double) (polomer/1000.*polomer/1000.*polomer/1000.);
  36.         vypocitejHmotnost();
  37.     }
  38.  
  39.     public static int getPocetInstanci() {
  40.         return pocetInstanci;
  41.     }
  42.  
  43.     public double getHmotnost() {
  44.         return hmotnost;
  45.     }
  46.  
  47.     public double getObjem() {
  48.         return objem;
  49.     }
  50.  
  51.     public double getPovrch() {
  52.         return povrch;
  53.     }
  54.  
  55.     public BarvaTvaru getBarva() {
  56.         return barva;
  57.     }
  58.  
  59.     public double getPolomer() {
  60.         return polomer/1000;
  61.     }
  62.  
  63.     public void setMernaHmotnost(double mernaHmotnost) throws RozsahKouleVyjimka {
  64.         if (mernaHmotnost >= 0 && mernaHmotnost <= MAX_MERNA_HMOTNOST) {
  65.             this.mernaHmotnost = mernaHmotnost;
  66.         } else {
  67.             throw new RozsahKouleVyjimka();
  68.         }
  69.         vypocitejObjem();
  70.     }
  71.  
  72.     public void setBarva(BarvaTvaru barva) {
  73.         this.barva = barva;
  74.     }
  75.  
  76.     private void inicializce(){
  77.         vypocitejPovrch();
  78.         vypocitejObjem();
  79.         vypocitejHmotnost();
  80.     }
  81.    
  82.     public void setPolomer(double polomer) throws RozsahKouleVyjimka {
  83.         if (polomer >= 0 && polomer <= MAX_POLOMER) {
  84.             this.polomer =(long) (polomer*1000);
  85.             inicializce();
  86.         } else {
  87.             throw new RozsahKouleVyjimka();
  88.         }
  89.         }
  90.  
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement