Advertisement
sdee3

OBP2 - v1

Oct 24th, 2017
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.53 KB | None | 0 0
  1. //Paket.java
  2.  
  3. package tovar;
  4.  
  5. import java.util.ArrayList;
  6.  
  7. public class Paket {
  8.     private int id, tezina;
  9.     private String naziv;
  10.  
  11.     public Paket(int id, int tezina, String naziv){
  12.         this.id = id;
  13.         this.tezina = tezina;
  14.         this.naziv = naziv;
  15.     }
  16.  
  17.     public Paket(){
  18.         this.id = 0;
  19.         this.tezina = 0;
  20.         this.naziv = "paket";
  21.     }
  22.  
  23.     public String toString(){
  24.         return id+"(" + naziv + ", " + tezina + ")";
  25.     }
  26.  
  27.     public int getTezina() {
  28.         return this.tezina;
  29.     }
  30.  
  31.     public int getId() {
  32.         return id;
  33.     }
  34.  
  35.     public static int getUkupnaTezina(ArrayList<Paket> paketi) {
  36.         int rez = 0;
  37.         for(Paket p : paketi)
  38.             rez += p.getTezina();
  39.  
  40.         return rez;
  41.     }
  42. }
  43.  
  44. //Vozilo.java
  45.  
  46. package vozila;
  47.  
  48. public class Vozilo {
  49.  
  50.     private int regBroj, zaprMotora;
  51.     private String boja;
  52.  
  53.     public Vozilo(int regBroj, int zaprMotora, String boja) {
  54.         this.regBroj = regBroj;
  55.         this.zaprMotora = zaprMotora;
  56.         this.boja = boja;
  57.     }
  58.  
  59.     public String toString(){
  60.         return regBroj + "(" + zaprMotora + ", " + boja + ")";
  61.     }
  62.  
  63. }
  64.  
  65. //Autobus.java
  66.  
  67. package vozila;
  68.  
  69. import putnik.Putnik;
  70.  
  71. import java.util.ArrayList;
  72.  
  73. public class Autobus extends Vozilo{
  74.  
  75.     private ArrayList<Putnik> putnici;
  76.     private int ukupnoPutnika;
  77.  
  78.     public Autobus(int regBroj, int zaprMotora, String boja, int ukupnoPutnika){
  79.         super(regBroj, zaprMotora, boja);
  80.         this.ukupnoPutnika = ukupnoPutnika;
  81.         putnici = new ArrayList<>();
  82.     }
  83.  
  84.     public Autobus(){
  85.         super(0,0,"");
  86.         this.ukupnoPutnika = 0;
  87.         putnici = null;
  88.     }
  89.  
  90.     public void prijemPutnika(Putnik putnik){
  91.         if (this.putnici.size() < this.ukupnoPutnika) {
  92.             this.putnici.add(putnik);
  93.             System.out.println("Putnik " + putnik + " je ušao u autobus.");
  94.         }
  95.         else{
  96.             System.out.println("Autobus je pun!");
  97.         }
  98.     }
  99.  
  100.     public void izlazPutnika(int id){
  101.         // Privremen objekat putnikZaIzlaz služi zarad izbegavanja greške
  102.         // pri pozivu funkcije remove() od klase ArrayList
  103.         Putnik putnikZaIzlaz = null;
  104.  
  105.         for (Putnik p : this.putnici) {
  106.             if(p.getId() == id){
  107.                 putnikZaIzlaz = p;
  108.                 System.out.println("Putnik " + p + " je napustio autobus.");
  109.             }
  110.         }
  111.  
  112.         this.putnici.remove(putnikZaIzlaz);
  113.  
  114.     }
  115.  
  116.     public String toString(){
  117.         String rez = super.toString() + "\nPutnici: \n";
  118.         for (Putnik p : putnici){
  119.             rez += p.toString() + "\n";
  120.         }
  121.  
  122.         return rez;
  123.     }
  124.  
  125. }
  126.  
  127. //Kamion.java
  128.  
  129. package vozila;
  130.  
  131. import tovar.Paket;
  132.  
  133. import java.util.ArrayList;
  134.  
  135. public class Kamion extends Vozilo{
  136.  
  137.     private int nosivost;
  138.     private ArrayList<Paket> paketi;
  139.  
  140.     public Kamion(int regBroj, int zaprMotora, String boja, int nosivost){
  141.         super(regBroj, zaprMotora, boja);
  142.         paketi = new ArrayList<>();
  143.         this.nosivost = nosivost;
  144.     }
  145.  
  146.     public Kamion() {
  147.         super(0, 0, "");
  148.         this.nosivost = 0;
  149.         this.paketi = null;
  150.     }
  151.  
  152.     public void utovar(Paket paket){
  153.         if(paket.getTezina() > this.getNosivost()){
  154.             System.err.println("Neuspešno dodavanje paketa - prevazidjena nosivost kamiona!");
  155.         }else{
  156.             this.paketi.add(paket);
  157.             System.out.println("Uspešno dodavanje paketa!");
  158.         }
  159.     }
  160.  
  161.     public void istovar(int id){
  162.         int prethodanBrPaketa = this.paketi.size(), noviBrPaketa;
  163.         // Privremen objekat paketZaUklanjanje služi zarad izbegavanja greške
  164.         // pri pozivu funkcije remove() od klase ArrayList
  165.         Paket paketZaUklanjanje = null;
  166.  
  167.         for (Paket p : this.paketi){
  168.             if(p.getId() == id) {
  169.                 paketZaUklanjanje = p;
  170.                 System.out.println("Uspešan istovar paketa " + p);
  171.             }
  172.         }
  173.  
  174.         this.paketi.remove(paketZaUklanjanje);
  175.         noviBrPaketa = this.paketi.size();
  176.  
  177.         if(prethodanBrPaketa < noviBrPaketa)
  178.             System.out.printf("Unet pogrešan/nepostojeći ID");
  179.  
  180.     }
  181.  
  182.     public int getNosivost() {
  183.         return this.nosivost;
  184.     }
  185.  
  186.     public String toString(){
  187.         String rez = super.toString() + "\nPaketi: \n";
  188.         for (Paket p : paketi){
  189.             rez += p.toString() + "\n";
  190.         }
  191.  
  192.         rez += Paket.getUkupnaTezina(paketi);
  193.  
  194.         return rez;
  195.     }
  196. }
  197.  
  198. //Main.java
  199.  
  200. package com.company;
  201.  
  202. import putnik.Putnik;
  203. import tovar.Paket;
  204. import vozila.Autobus;
  205. import vozila.Kamion;
  206.  
  207. public class Main {
  208.  
  209.     public static void main(String[] args) {
  210.  
  211.         Putnik putnik1 = new Putnik("Jovan", "Jovanović", 1994, 1);
  212.         Putnik putnik2 = new Putnik("Ivan", "Ivanović", 1962, 2);
  213.         Putnik putnik3 = new Putnik("Aleksandra", "Milivojević", 1977, 3);
  214.  
  215.         Paket paket1 = new Paket(1, 500, "ormar");
  216.         Paket paket2 = new Paket(2, 140, "voštana figura");
  217.         Paket paket3 = new Paket(3, 390, "duksevi");
  218.  
  219.         Autobus autobus = new Autobus(1337, 6000, "siva", 2);
  220.         Kamion kamion = new Kamion(13371, 12000, "crvena", 600);
  221.  
  222.         autobus.prijemPutnika(putnik1);
  223.         autobus.prijemPutnika(putnik2);
  224.         autobus.prijemPutnika(putnik3);
  225.         autobus.izlazPutnika(2);
  226.  
  227.         kamion.utovar(paket1);
  228.         kamion.utovar(paket2);
  229.         kamion.istovar(2);
  230.         kamion.utovar(paket3);
  231.  
  232.     }
  233. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement