Drugstore




import Kioskko;
import List;
import Person;

public class Drugstore {

    private int Time;
    private int Close_time;
    private Kioskko Ko;    //kioskens kö

    public Drugstore(int t, int ct, Kioskko k){
       Time=t;
       Close_time=ct;
       Ko=k;
    }

    public boolean Close_time(){   //ser om det är dags att stänga kiosken
       if (Close_time<=0){
           return true;
       }
       return false;
    }

    public int Time(){   //returnerar den maximala betjäningstiden
       return Time;
    }

    public void ExpedieraKund() {  //expedierar en kund
     if (!Close_time()){      //expediera endast om kiosken ej stängt
       Ko.first().print();
       if (Ko.first().Time()<=Time()){   //tar bort kunden från kön om ärendet slutfört
           Close_time= Close_time - Ko.first().Time();  //minska med den tid det tog
           Ko=Kioskko.convert(Ko.rest());
           System.out.println("Kund expedierad.");
       }
       else {              //ställer kunden sist i kön med kundens ärendetid minskad
           Close_time= Close_time - Time();   //minska med den maximala betjäningstiden
           Ko.first().Time=Ko.first().Time-Time();
           Ko=Ko.moveLast();
           System.out.println("Kundens ärende ej slutförd, kunden ställs sist i kön.");

       }
       System.out.println();
     }
    }

    public void Expediera() {     //expedierar hela kön fram till stängningsdags
       while (!Close_time()){
           ExpedieraKund();
       }
       System.out.println("Stängt!");
       System.out.println("Återstående kö:");
       Ko.print();     //skriver ut den kö som är kvar
    }

    public void nyKund(Person ny){   //lägger till en person i kön
       Ko=Ko.nyPerson(ny);
    }

}



Tillbaks till huvudsidan

email: Alireza.Niai_nouri.2077@student.uu.se