Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Paket.java
- package tovar;
- import java.util.ArrayList;
- public class Paket {
- private int id, tezina;
- private String naziv;
- public Paket(int id, int tezina, String naziv){
- this.id = id;
- this.tezina = tezina;
- this.naziv = naziv;
- }
- public Paket(){
- this.id = 0;
- this.tezina = 0;
- this.naziv = "paket";
- }
- public String toString(){
- return id+"(" + naziv + ", " + tezina + ")";
- }
- public int getTezina() {
- return this.tezina;
- }
- public int getId() {
- return id;
- }
- public static int getUkupnaTezina(ArrayList<Paket> paketi) {
- int rez = 0;
- for(Paket p : paketi)
- rez += p.getTezina();
- return rez;
- }
- }
- //Vozilo.java
- package vozila;
- public class Vozilo {
- private int regBroj, zaprMotora;
- private String boja;
- public Vozilo(int regBroj, int zaprMotora, String boja) {
- this.regBroj = regBroj;
- this.zaprMotora = zaprMotora;
- this.boja = boja;
- }
- public String toString(){
- return regBroj + "(" + zaprMotora + ", " + boja + ")";
- }
- }
- //Autobus.java
- package vozila;
- import putnik.Putnik;
- import java.util.ArrayList;
- public class Autobus extends Vozilo{
- private ArrayList<Putnik> putnici;
- private int ukupnoPutnika;
- public Autobus(int regBroj, int zaprMotora, String boja, int ukupnoPutnika){
- super(regBroj, zaprMotora, boja);
- this.ukupnoPutnika = ukupnoPutnika;
- putnici = new ArrayList<>();
- }
- public Autobus(){
- super(0,0,"");
- this.ukupnoPutnika = 0;
- putnici = null;
- }
- public void prijemPutnika(Putnik putnik){
- if (this.putnici.size() < this.ukupnoPutnika) {
- this.putnici.add(putnik);
- System.out.println("Putnik " + putnik + " je ušao u autobus.");
- }
- else{
- System.out.println("Autobus je pun!");
- }
- }
- public void izlazPutnika(int id){
- // Privremen objekat putnikZaIzlaz služi zarad izbegavanja greške
- // pri pozivu funkcije remove() od klase ArrayList
- Putnik putnikZaIzlaz = null;
- for (Putnik p : this.putnici) {
- if(p.getId() == id){
- putnikZaIzlaz = p;
- System.out.println("Putnik " + p + " je napustio autobus.");
- }
- }
- this.putnici.remove(putnikZaIzlaz);
- }
- public String toString(){
- String rez = super.toString() + "\nPutnici: \n";
- for (Putnik p : putnici){
- rez += p.toString() + "\n";
- }
- return rez;
- }
- }
- //Kamion.java
- package vozila;
- import tovar.Paket;
- import java.util.ArrayList;
- public class Kamion extends Vozilo{
- private int nosivost;
- private ArrayList<Paket> paketi;
- public Kamion(int regBroj, int zaprMotora, String boja, int nosivost){
- super(regBroj, zaprMotora, boja);
- paketi = new ArrayList<>();
- this.nosivost = nosivost;
- }
- public Kamion() {
- super(0, 0, "");
- this.nosivost = 0;
- this.paketi = null;
- }
- public void utovar(Paket paket){
- if(paket.getTezina() > this.getNosivost()){
- System.err.println("Neuspešno dodavanje paketa - prevazidjena nosivost kamiona!");
- }else{
- this.paketi.add(paket);
- System.out.println("Uspešno dodavanje paketa!");
- }
- }
- public void istovar(int id){
- int prethodanBrPaketa = this.paketi.size(), noviBrPaketa;
- // Privremen objekat paketZaUklanjanje služi zarad izbegavanja greške
- // pri pozivu funkcije remove() od klase ArrayList
- Paket paketZaUklanjanje = null;
- for (Paket p : this.paketi){
- if(p.getId() == id) {
- paketZaUklanjanje = p;
- System.out.println("Uspešan istovar paketa " + p);
- }
- }
- this.paketi.remove(paketZaUklanjanje);
- noviBrPaketa = this.paketi.size();
- if(prethodanBrPaketa < noviBrPaketa)
- System.out.printf("Unet pogrešan/nepostojeći ID");
- }
- public int getNosivost() {
- return this.nosivost;
- }
- public String toString(){
- String rez = super.toString() + "\nPaketi: \n";
- for (Paket p : paketi){
- rez += p.toString() + "\n";
- }
- rez += Paket.getUkupnaTezina(paketi);
- return rez;
- }
- }
- //Main.java
- package com.company;
- import putnik.Putnik;
- import tovar.Paket;
- import vozila.Autobus;
- import vozila.Kamion;
- public class Main {
- public static void main(String[] args) {
- Putnik putnik1 = new Putnik("Jovan", "Jovanović", 1994, 1);
- Putnik putnik2 = new Putnik("Ivan", "Ivanović", 1962, 2);
- Putnik putnik3 = new Putnik("Aleksandra", "Milivojević", 1977, 3);
- Paket paket1 = new Paket(1, 500, "ormar");
- Paket paket2 = new Paket(2, 140, "voštana figura");
- Paket paket3 = new Paket(3, 390, "duksevi");
- Autobus autobus = new Autobus(1337, 6000, "siva", 2);
- Kamion kamion = new Kamion(13371, 12000, "crvena", 600);
- autobus.prijemPutnika(putnik1);
- autobus.prijemPutnika(putnik2);
- autobus.prijemPutnika(putnik3);
- autobus.izlazPutnika(2);
- kamion.utovar(paket1);
- kamion.utovar(paket2);
- kamion.istovar(2);
- kamion.utovar(paket3);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement