Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Dodatni{
- public static void main (String[] args) {
- RacunarskeUcionice pmf = new RacunarskeUcionice();
- pmf.dodajUcionicu("Red");
- pmf.dodajOpremu("Drveno", "Sto", 1);
- pmf.dodajOpremu("Predmet", "Hemijska", 1);
- pmf.dodajOpremu("Racunar", "LG", 1);
- pmf.dodajOpremu("Racunar", "Dell", 1);
- pmf.dodajUcionicu("Blue");
- pmf.dodajOpremu("Racunar", "LG", 2);
- pmf.dodajOpremu("Racunar", "LG", 2);
- pmf.dodajOpremu("Racunar", "Asus", 2);
- pmf.dodajOpremu("Racunar", "LG", 2);
- pmf.dodajUcionicu("Green");
- pmf.dodajOpremu("Drveno", "Sto", 3);
- pmf.dodajOpremu("Racunar", "LG", 3);
- pmf.dodajOpremu("Drveno", "Stolica", 3);
- pmf.dodajUcionicu("Red");
- pmf.dodajOpremu("Drveno", "Sto", 4);
- pmf.dodajOpremu("Plastika", "Hemijska", 4);
- pmf.dodajOpremu("Drveno", "Sto", 4);
- pmf.dodajOpremu("Drveno", "Stolica", 4);
- pmf.dodajUcionicu("Yellow");
- pmf.dodajOpremuNajmanju("Papirno", "Sveska");
- System.out.println(pmf);
- pmf.ispisiOpremuSaBojom("Red");
- System.out.println(pmf.prebrojTip("Racunar"));
- pmf.izbaciOpremu("Racunar", 2);
- System.out.println(pmf);
- }
- }
- class RacunarskeUcionice{
- //Ucionica
- class Ucionica{
- public String boja;
- Oprema prvaOprema;
- Ucionica veza;
- public Ucionica(String boja){
- this.boja = boja;
- this.prvaOprema = null;
- this.veza = null;
- }
- public int prebrojOpremu(){
- int brojac = 0;
- Oprema tek = prvaOprema;
- while(tek != null){
- brojac++;
- tek = tek.veza;
- }
- return brojac;
- }
- public String toString(){
- String s = "Boja ~ " + boja;
- Oprema tek = prvaOprema;
- while(tek != null){
- s += "\n" + tek;
- tek = tek.veza;
- }
- return s;
- }
- }
- //Oprema
- class Oprema{
- public String tip;
- public String opis;
- Oprema veza;
- public Oprema(String tip, String opis){
- this.tip = tip;
- this.opis = opis;
- this.veza = null;
- }
- public String toString(){
- return tip + " - " + opis;
- }
- }
- Ucionica prvaUcionica = null;
- //Metode
- public void dodajUcionicu(String boja){
- if(prvaUcionica == null){
- prvaUcionica = new Ucionica(boja);
- } else {
- Ucionica tek = prvaUcionica;
- while(tek.veza != null)
- tek = tek.veza;
- Ucionica novi = new Ucionica(boja);
- tek.veza = novi;
- }
- }
- public int brojUcionica(){
- Ucionica tek = prvaUcionica;
- int brojac = 0;
- while(tek != null){
- tek = tek.veza;
- brojac++;
- }
- return brojac;
- }
- public boolean dodajOpremu(String tip, String opis, int brUcionice){
- if (brUcionice < 1 || brojUcionica() < brUcionice){
- return false;
- }
- Oprema nova = new Oprema(tip, opis);
- Ucionica tek = prvaUcionica;
- for (int i = 1; i < brUcionice; i++){
- tek = tek.veza;
- }
- Oprema pomocna = tek.prvaOprema;
- boolean postojiDuplikat = false;
- while(pomocna != null){
- if(pomocna.tip.equals(tip)){
- postojiDuplikat = true;
- break;
- }
- pomocna = pomocna.veza;
- }
- Oprema tekOprema = tek.prvaOprema;
- if(postojiDuplikat){
- while(!(tekOprema.tip.equals(tip)))
- tekOprema = tekOprema.veza;
- Oprema sledeci = tekOprema.veza;
- tekOprema.veza = nova;
- if(sledeci != null){
- nova.veza = sledeci;
- }
- } else{
- tek.prvaOprema = nova;
- nova.veza = tekOprema;
- }
- return true;
- }
- public void ispisiOpremuSaBojom(String boja){
- Ucionica tek = prvaUcionica;
- int brojac = 1;
- while (tek != null){
- if(tek.boja.equals(boja)){
- System.out.println("Ucionica " + brojac);
- System.out.println(tek + "\n");
- }
- brojac++;
- tek = tek.veza;
- }
- }
- public int prebrojTip(String tip){
- int brojac = 0;
- Ucionica tekUcionica = prvaUcionica;
- while(tekUcionica != null){
- Oprema tekOprema = tekUcionica.prvaOprema;
- while(tekOprema != null){
- if(tekOprema.tip.equals(tip)){
- brojac++;
- }
- tekOprema = tekOprema.veza;
- }
- tekUcionica = tekUcionica.veza;
- }
- return brojac;
- }
- public void dodajOpremuNajmanju(String tip, String opis){
- Ucionica tek = prvaUcionica;
- int min = tek.prebrojOpremu();
- int pozicija = 1;
- while(tek != null){
- if(tek.prebrojOpremu() < min)
- min = tek.prebrojOpremu();
- tek = tek.veza;
- }
- tek = prvaUcionica;
- while(tek != null){
- if(tek.prebrojOpremu() == min)
- break;
- pozicija++;
- tek = tek.veza;
- }
- dodajOpremu(tip, opis, pozicija);
- }
- public void izbaciOpremu(String tip, int brUcionice){
- Ucionica tek = prvaUcionica;
- for(int i = 1; i < brUcionice;i++){
- tek = tek.veza;
- }
- Oprema tekOprema = tek.prvaOprema;
- while(tekOprema != null){
- if(tekOprema.tip.equals(tip))
- tek.prvaOprema = tek.prvaOprema.veza;
- tekOprema = tekOprema.veza;
- }
- if(tekOprema != null){
- Oprema prethodni = tekOprema;
- tekOprema = tekOprema.veza;
- while(tekOprema != null){
- if(tekOprema.tip.equals(tip)){
- prethodni.veza = tekOprema.veza;
- tekOprema = prethodni;
- }
- prethodni = tekOprema;
- tekOprema = tekOprema.veza;
- }
- }
- }
- public String toString(){
- int brojac = 1;
- Ucionica tek = prvaUcionica;
- String s = "Spisak ucionica:\n";
- while(tek != null){
- s+= "\nUcionica " + brojac + ":\n" + tek + "\n";
- tek = tek.veza;
- brojac++;
- }
- return s;
- }
- }
Advertisement
Comments
-
Comment was deleted
-
- Nisam uradio (mrzelo me je):
- izbaciti jedan komad opreme datog tipa iz učionice zadate brojem.
- izbaciti jedan komad opreme datog tipa i opisa iz bilo koje učionice učionice zadate bojom.
- prebaciti svu opremu zatatog tipa iz učionice sa najviše opreme tog tipa u učionicu sa najmanje opreme tog tipa
Add Comment
Please, Sign In to add comment
Advertisement