Advertisement
pseudocreator

oop1 DomZdravlja(kolokvijum)

Nov 20th, 2014
452
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.92 KB | None | 0 0
  1. /*
  2. *Dodati metod public int srPlataLekara(){} u klasi DomZdravlja koja vraca srednju platu svih lekara
  3. *Dodati metod public int srGodPacijenta(){} u klasi DomZdravlja koja vraca srednje godine svih pacijenata
  4. *kod odredjenog lekara
  5. */
  6. package program1;
  7. import java.io.*;
  8.  
  9. class Pacijent{
  10.     private String ime;
  11.     private String prezime;
  12.     private int godina;
  13.    
  14.     Pacijent(String ime, String prezime, int godina){
  15.         this.ime = ime;
  16.         this.prezime = prezime;
  17.         this.godina = godina;
  18.     }
  19.    
  20.     public String getIme() {
  21.         return ime;
  22.     }
  23.     public void setIme(String ime) {
  24.         this.ime = ime;
  25.     }
  26.     public String getPrezime() {
  27.         return prezime;
  28.     }
  29.     public void setPrezime(String prezime) {
  30.         this.prezime = prezime;
  31.     }
  32.     public int getGodina() {
  33.         return godina;
  34.     }
  35.     public void setGodina(int godina) {
  36.         this.godina = godina;
  37.     }
  38.  
  39.     public String toString(){
  40.         StringBuffer sb = new StringBuffer();
  41.         sb.append(this.getClass().getName()).append(" ime: ")
  42.         .append(ime).append(" ,prezime: ").append(prezime)
  43.         .append(" ,godine: ").append(godina).append(".");
  44.         return sb.toString();
  45.     }
  46. }
  47.  
  48.  
  49. abstract class Lekar{
  50.     private String ime;
  51.     private String prezime;
  52.     private int maxBrPacijenata;
  53.     private Pacijent[] nizPacijenata = new Pacijent[200];
  54.    
  55.     static int mladjihOdGranice;
  56.     static int brPacijenata;
  57.     static{
  58.         brPacijenata = 0;
  59.         mladjihOdGranice = 0;
  60.     }
  61.    
  62.     Lekar(String ime, String prezime, int maxBrPacijenata){
  63.         this.ime = ime;
  64.         this.prezime = prezime;
  65.         this.maxBrPacijenata = maxBrPacijenata;
  66.     }
  67.  
  68.     public String getIme() {
  69.         return ime;
  70.     }
  71.  
  72.     public void setIme(String ime) {
  73.         this.ime = ime;
  74.     }
  75.  
  76.     public String getPrezime() {
  77.         return prezime;
  78.     }
  79.  
  80.     public void setPrezime(String prezime) {
  81.         this.prezime = prezime;
  82.     }
  83.  
  84.     public int getMaxBrPacijenata() {
  85.         return maxBrPacijenata;
  86.     }
  87.  
  88.     public void setMaxBrPacijenata(int maxBrPacijenata) {
  89.         this.maxBrPacijenata = maxBrPacijenata;
  90.     }
  91.    
  92.  
  93.     public Pacijent[] getNizPacijenata() {
  94.         return nizPacijenata;
  95.     }
  96.  
  97.     public void setNizPacijenata(Pacijent[] nizPacijenata) {
  98.         this.nizPacijenata = nizPacijenata;
  99.     }
  100.    
  101.     public void mladjih(Pacijent p){
  102.         if(p.getGodina() < 18){
  103.             mladjihOdGranice++;
  104.         }
  105.     }
  106.    
  107.     public boolean dodajPacijenta(Pacijent p){
  108.         if(brPacijenata >= maxBrPacijenata){
  109.             return false;
  110.         } else {
  111.             mladjih(p);
  112.             //
  113.             nizPacijenata[brPacijenata] = p;
  114.             brPacijenata++;
  115.             return true;
  116.         }
  117.     }
  118.    
  119.     abstract public int plata();
  120.    
  121.     public String toString(){
  122.         StringBuffer sb = new StringBuffer();
  123.         sb.append("Lekar, ime: ").append(ime)
  124.         .append(" ,prezime: ").append(prezime)
  125.         .append(" ,broj pacijenata: ").append(brPacijenata)
  126.         .append("\n");
  127.        
  128.         return sb.toString();
  129.     }
  130.    
  131. }
  132.  
  133. class LekarOpstePrakse extends Lekar{
  134.    
  135.     LekarOpstePrakse(String ime, String prezime){
  136.         super(ime, prezime, 200); //maksimalan broj pacijenata jednoznacno odredjen u postavci zadatka
  137.     }
  138.    
  139.     public int plata(){
  140.         return brPacijenata * 500;
  141.     }
  142.    
  143. }
  144.  
  145. class Pedijatar extends Lekar{
  146.    
  147.     Pedijatar(String ime, String prezime){
  148.         super(ime,prezime,100);
  149.     }
  150.    
  151.     public int plata(){ //za svakog Pacijenta mladjeg od 18 sledi dodatak od 200din
  152.         int dodatak = mladjihOdGranice * 200;
  153.         return (brPacijenata * 400) + dodatak;
  154.     }
  155. }
  156.  
  157.  
  158. public class DomZdravlja {
  159.    
  160.     final static String fajlPacijenti = "Pacijenti.txt";
  161.     final static String fajlLekari = "Lekari.txt";
  162.     public Lekar[] nizLekara;
  163.    
  164.    
  165.    
  166.    
  167.     public void ucitajLekare() throws Exception{
  168.         BufferedReader bl = new BufferedReader(new FileReader(fajlLekari));
  169.         int brLekara = Integer.parseInt(bl.readLine());
  170.         nizLekara = new Lekar[brLekara];
  171.         for(int i = 0; i < brLekara; i++){
  172.             String ime = bl.readLine();
  173.             String prezime = bl.readLine();
  174.             if((bl.readLine()).equals("pedijatar")){
  175.                 nizLekara[i] = new Pedijatar(ime,prezime);
  176.             } else {
  177.                 nizLekara[i] = new LekarOpstePrakse(ime,prezime);
  178.             }
  179.         }
  180.         bl.close();
  181.     }
  182.    
  183.     public void ucitajPacijente()throws Exception{
  184.         BufferedReader bp = new BufferedReader(new FileReader(fajlPacijenti));
  185.         int brPacijenata = Integer.parseInt(bp.readLine());
  186.         for(int i = 0; i < brPacijenata; i++){
  187.             String ime = bp.readLine();
  188.             String prezime = bp.readLine();
  189.             int god = Integer.parseInt(bp.readLine());
  190.             int id  = 0;
  191.             boolean dalje = true; //public boolean dodajPacijenta(Pacijent p)
  192.             do{
  193.                 Pacijent temp = new Pacijent(ime,prezime,god);
  194.                 if(nizLekara[id].dodajPacijenta(temp)){
  195.                     System.out.print("");
  196.                     dalje = false;
  197.                 } else {
  198.                     id++;
  199.                     dalje = true;
  200.                 }
  201.             }while(dalje);
  202.         }
  203.         bp.close();
  204.     }
  205.    
  206.     public static void main(String[] args)throws Exception{
  207.         DomZdravlja dz = new DomZdravlja();
  208.         dz.ucitajLekare();
  209.         dz.ucitajPacijente();
  210.         //*ispis svih lekara;
  211.         System.out.println("************************************\nIspis lekara: ");
  212.         for(int i = 0; i < dz.nizLekara.length; i++){
  213.             System.out.println(dz.nizLekara[i].toString());
  214.         }
  215.        
  216.     }
  217.        
  218. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement