Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package osn;
- import java.io.*;
- class GreskaPriOdabiru extends Exception{
- GreskaPriOdabiru(String str){
- super("******GRESKA PRI ODABIRU: " + str + ";\n");
- }
- }
- class VecOdabrao extends GreskaPriOdabiru{
- String jmbg;
- VecOdabrao(String jmbg){
- super(jmbg);
- }
- }
- class Prepunjen extends GreskaPriOdabiru{
- String jmbg;
- Prepunjen(String jmbg){
- super(jmbg);
- }
- }
- class GreskaPriPonistavanju extends Exception{
- GreskaPriPonistavanju(){
- super("******GRESKAPRIPONISTAVANJU\n");
- }
- }
- //---------------------------------------
- final class Pacijent{
- private String jmbg;
- Pacijent(String jmbg){
- this.jmbg = jmbg;
- }
- public String getJmbg() {
- return jmbg;
- }
- }
- //---------------------------------------
- class Lekar{
- private int maxBrPacijenata;
- private int brPac;
- private Pacijent[] nizPac;
- Lekar(int maxBrPacijenata){
- this.setMaxBrPacijenata(maxBrPacijenata);
- setBrPac(0);
- }
- public void odabir(String jmbg) throws GreskaPriOdabiru{
- // nema mesta
- // ili je vec kod njega
- System.out.println("-----------");
- System.out.println(brPac + " " + maxBrPacijenata);
- System.out.println("-----------");
- if(brPac == maxBrPacijenata){
- throw new Prepunjen(jmbg);
- }else if(postojeci(jmbg)){
- throw new VecOdabrao(jmbg);
- }else //ubacujemo
- {
- System.out.println("//////");
- System.out.println(jmbg);
- System.out.println("//////");
- if(brPac == 0){
- nizPac = new Pacijent[1];
- nizPac[0] = new Pacijent(jmbg);
- brPac++;
- } else {
- Pacijent[] tmp = new Pacijent[brPac+1];
- int i;
- for(i = 0; i < tmp.length; i++){
- tmp[i] = new Pacijent(nizPac[i].getJmbg());
- }
- tmp[i+1] = new Pacijent(jmbg);
- nizPac = new Pacijent[tmp.length];
- for(i = 0; i < tmp.length; i++){
- nizPac[i] = new Pacijent(tmp[i].getJmbg());
- }
- brPac++;
- }
- }
- }
- public void ponisti(String jmbg) throws GreskaPriPonistavanju{
- if(postojeci(jmbg)){
- int t = mesto(jmbg);
- if(t == -1){
- System.out.println("GRESKA!!!!!!------");
- }
- if(t == 0){ //provereno#
- Pacijent[] temp = new Pacijent[brPac-1];
- for(int i = 1; i < brPac; i++){
- temp[i-1] = new Pacijent(nizPac[i].getJmbg());
- }
- nizPac = new Pacijent[temp.length];
- for(int i = 0; i < nizPac.length; i++){
- nizPac[i] = new Pacijent(temp[i].getJmbg());
- }
- brPac--;
- }else if(t == brPac){ //provereno#
- Pacijent[] temp = new Pacijent[brPac-1];
- for(int i = 0; i < brPac-1; i++){
- temp[i] = new Pacijent(nizPac[i].getJmbg());
- }
- nizPac = new Pacijent[temp.length];
- for(int i = 0; i < nizPac.length; i++){
- nizPac[i] = new Pacijent(temp[i].getJmbg());
- }
- brPac--;
- } else {
- int i = 0;
- int j = 0;
- Pacijent[] tmp = new Pacijent[nizPac.length-1];
- while(i < nizPac.length){
- tmp[j] = new Pacijent(nizPac[i].getJmbg());
- if(i == t){
- j--;
- }
- i++;
- j++;
- }
- nizPac = new Pacijent[tmp.length];
- for(int o = 0; o < nizPac.length; o++){
- nizPac[o] = new Pacijent(tmp[o].getJmbg());
- }
- brPac--;
- }//kraj namestanja niza
- } else {
- throw new GreskaPriPonistavanju();
- }
- }
- public int mesto(String jmbg){
- for(int i = 0; i < brPac; i++){
- if(jmbg.equals(nizPac[i].getJmbg())){
- return i;
- }
- }
- return -1;
- }
- public boolean postojeci(String jmbg){
- for(int i = 0; i < brPac; i++){
- if(jmbg.equals(nizPac[i].getJmbg())){
- return true;
- }
- }
- return false;
- }
- //geteri, seteri
- public int getMaxBrPacijenata() {
- return maxBrPacijenata;
- }
- public void setMaxBrPacijenata(int maxBrPacijenata) {
- this.maxBrPacijenata = maxBrPacijenata;
- }
- public int getBrPac() {
- return brPac;
- }
- public void setBrPac(int brPac) {
- this.brPac = brPac;
- }
- public Pacijent[] getNizPac() {
- return nizPac;
- }
- public void setNizPac(Pacijent[] nizPac) {
- this.nizPac = nizPac;
- }
- }
- public class Osnovna {
- public static void main(String[] args){
- BufferedReader unosF = null;
- BufferedReader unosT = null;
- try{
- unosT = new BufferedReader(new InputStreamReader(System.in));
- System.out.println("Unesite ime fajla: ");
- String imeF = unosT.readLine();
- unosF = new BufferedReader(new FileReader(imeF));
- System.out.println("Unos maxBroja pacijenata(za datog Lekara): ");
- int maxBrPac = Integer.parseInt(unosT.readLine());
- Lekar l = new Lekar(maxBrPac);
- String ceoRed = unosF.readLine();
- if(ceoRed != null){
- do{
- String[] nizS = ceoRed.split(",");
- String akcija = nizS[0];
- String jmbg = nizS[1];
- System.out.print(akcija);
- System.out.println("|||" + jmbg);
- try{
- if(akcija.equalsIgnoreCase("odabir")){
- l.odabir(jmbg);
- }else if(akcija.equalsIgnoreCase("ponistenje")){
- l.ponisti(jmbg);
- } else {
- System.out.println("Lose formatiran red u fajlu");
- }
- }catch(GreskaPriOdabiru go){
- System.out.println(go.getMessage());
- }catch(GreskaPriPonistavanju gp){
- System.out.println(gp.getMessage());
- }finally{
- System.out.println("Pacijent prosao \n");
- }
- //izlaz iz ucitavanja
- ceoRed = unosF.readLine();
- if(ceoRed == null){
- break;
- }
- }while(true);
- } else {
- System.out.println("Prazan Fajl..");
- }
- }catch(FileNotFoundException fnf){
- System.out.println(fnf.getMessage());
- }catch(IOException ie){
- System.out.println(ie.getMessage());
- }catch(NumberFormatException nmb){
- System.out.println(nmb.getMessage());
- }catch(IndexOutOfBoundsException io){
- System.out.println(io.getMessage());
- }finally{
- System.out.println("----Prvi deo programa je uspesno izvrsen.");
- }
- try{
- unosT.close();
- unosF.close();
- }catch(IOException ie){
- System.out.println("Fajl nije dobro unesen.");
- }catch(NullPointerException ne){
- System.out.println(ne.getMessage());
- }finally{
- System.out.println("----Program je uspesno izvrsen.");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement