Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- *Dodati metod public int srPlataLekara(){} u klasi DomZdravlja koja vraca srednju platu svih lekara
- *Dodati metod public int srGodPacijenta(){} u klasi DomZdravlja koja vraca srednje godine svih pacijenata
- *kod odredjenog lekara
- */
- package program1;
- import java.io.*;
- class Pacijent{
- private String ime;
- private String prezime;
- private int godina;
- Pacijent(String ime, String prezime, int godina){
- this.ime = ime;
- this.prezime = prezime;
- this.godina = godina;
- }
- public String getIme() {
- return ime;
- }
- public void setIme(String ime) {
- this.ime = ime;
- }
- public String getPrezime() {
- return prezime;
- }
- public void setPrezime(String prezime) {
- this.prezime = prezime;
- }
- public int getGodina() {
- return godina;
- }
- public void setGodina(int godina) {
- this.godina = godina;
- }
- public String toString(){
- StringBuffer sb = new StringBuffer();
- sb.append(this.getClass().getName()).append(" ime: ")
- .append(ime).append(" ,prezime: ").append(prezime)
- .append(" ,godine: ").append(godina).append(".");
- return sb.toString();
- }
- }
- abstract class Lekar{
- private String ime;
- private String prezime;
- private int maxBrPacijenata;
- private Pacijent[] nizPacijenata = new Pacijent[200];
- static int mladjihOdGranice;
- static int brPacijenata;
- static{
- brPacijenata = 0;
- mladjihOdGranice = 0;
- }
- Lekar(String ime, String prezime, int maxBrPacijenata){
- this.ime = ime;
- this.prezime = prezime;
- this.maxBrPacijenata = maxBrPacijenata;
- }
- public String getIme() {
- return ime;
- }
- public void setIme(String ime) {
- this.ime = ime;
- }
- public String getPrezime() {
- return prezime;
- }
- public void setPrezime(String prezime) {
- this.prezime = prezime;
- }
- public int getMaxBrPacijenata() {
- return maxBrPacijenata;
- }
- public void setMaxBrPacijenata(int maxBrPacijenata) {
- this.maxBrPacijenata = maxBrPacijenata;
- }
- public Pacijent[] getNizPacijenata() {
- return nizPacijenata;
- }
- public void setNizPacijenata(Pacijent[] nizPacijenata) {
- this.nizPacijenata = nizPacijenata;
- }
- public void mladjih(Pacijent p){
- if(p.getGodina() < 18){
- mladjihOdGranice++;
- }
- }
- public boolean dodajPacijenta(Pacijent p){
- if(brPacijenata >= maxBrPacijenata){
- return false;
- } else {
- mladjih(p);
- //
- nizPacijenata[brPacijenata] = p;
- brPacijenata++;
- return true;
- }
- }
- abstract public int plata();
- public String toString(){
- StringBuffer sb = new StringBuffer();
- sb.append("Lekar, ime: ").append(ime)
- .append(" ,prezime: ").append(prezime)
- .append(" ,broj pacijenata: ").append(brPacijenata)
- .append("\n");
- return sb.toString();
- }
- }
- class LekarOpstePrakse extends Lekar{
- LekarOpstePrakse(String ime, String prezime){
- super(ime, prezime, 200); //maksimalan broj pacijenata jednoznacno odredjen u postavci zadatka
- }
- public int plata(){
- return brPacijenata * 500;
- }
- }
- class Pedijatar extends Lekar{
- Pedijatar(String ime, String prezime){
- super(ime,prezime,100);
- }
- public int plata(){ //za svakog Pacijenta mladjeg od 18 sledi dodatak od 200din
- int dodatak = mladjihOdGranice * 200;
- return (brPacijenata * 400) + dodatak;
- }
- }
- public class DomZdravlja {
- final static String fajlPacijenti = "Pacijenti.txt";
- final static String fajlLekari = "Lekari.txt";
- public Lekar[] nizLekara;
- public void ucitajLekare() throws Exception{
- BufferedReader bl = new BufferedReader(new FileReader(fajlLekari));
- int brLekara = Integer.parseInt(bl.readLine());
- nizLekara = new Lekar[brLekara];
- for(int i = 0; i < brLekara; i++){
- String ime = bl.readLine();
- String prezime = bl.readLine();
- if((bl.readLine()).equals("pedijatar")){
- nizLekara[i] = new Pedijatar(ime,prezime);
- } else {
- nizLekara[i] = new LekarOpstePrakse(ime,prezime);
- }
- }
- bl.close();
- }
- public void ucitajPacijente()throws Exception{
- BufferedReader bp = new BufferedReader(new FileReader(fajlPacijenti));
- int brPacijenata = Integer.parseInt(bp.readLine());
- for(int i = 0; i < brPacijenata; i++){
- String ime = bp.readLine();
- String prezime = bp.readLine();
- int god = Integer.parseInt(bp.readLine());
- int id = 0;
- boolean dalje = true; //public boolean dodajPacijenta(Pacijent p)
- do{
- Pacijent temp = new Pacijent(ime,prezime,god);
- if(nizLekara[id].dodajPacijenta(temp)){
- System.out.print("");
- dalje = false;
- } else {
- id++;
- dalje = true;
- }
- }while(dalje);
- }
- bp.close();
- }
- public static void main(String[] args)throws Exception{
- DomZdravlja dz = new DomZdravlja();
- dz.ucitajLekare();
- dz.ucitajPacijente();
- //*ispis svih lekara;
- System.out.println("************************************\nIspis lekara: ");
- for(int i = 0; i < dz.nizLekara.length; i++){
- System.out.println(dz.nizLekara[i].toString());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement