Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- package spt2015;
- public class Teret {
- protected String serijskiBroj;
- protected int duzina, visina, sirina;
- protected double tezina;
- public Teret(String serijskiBroj, int duzina, int visina, int sirina, double tezina) throws Exception {
- if (duzina * visina * sirina < tezina)
- throw new Exception("Tezina ne moze biti veca od zapremine");
- this.serijskiBroj = serijskiBroj;
- this.duzina = duzina;
- this.visina = visina;
- this.sirina = sirina;
- this.tezina = tezina;
- }
- public final double zapremina() {
- return this.duzina * this.visina * this.sirina;
- }
- public final double getTezina() {
- return this.tezina;
- }
- public String toString() {
- return " " + this.serijskiBroj + "(" + this.duzina + "," + this.sirina + "," + this.visina + ")";
- }
- }
- -----------------------------------------------------------------------------------------------------------------------
- package spt2015;
- import java.io.IOException;
- import java.nio.charset.Charset;
- import java.nio.file.Files;
- import java.nio.file.Paths;
- import java.nio.file.StandardOpenOption;
- import java.sql.ResultSet;
- import bazapodataka.BazaPodataka;
- public class Kontejner extends Teret {
- private Teret[] niz;
- public Kontejner(String serijskiBroj, int duzina, int visina, int sirina, double tezina) throws Exception {
- super(serijskiBroj, duzina, visina, sirina, tezina);
- niz = new Teret[5];
- }
- public Kontejner(String serijskiBroj, int duzina, int visina, int sirina, double tezina, int brojElemenata)
- throws Exception {
- super(serijskiBroj, duzina, visina, sirina, tezina);
- niz = new Teret[brojElemenata];
- }
- public void dodajTeret(Teret t) {
- try {
- int indeks = imaProstora();
- if (indeks == -1 || t instanceof Kontejner
- || ukupnaZapreminaTeretnihObjekata() + t.zapremina() > this.zapremina())
- throw new Exception("Nije moguce dodati objekat");
- niz[indeks] = t;
- this.tezina += t.tezina;
- } catch (Exception e) {
- System.err.println(e);
- }
- }
- public int imaProstora() {
- for (int i = 0; i < niz.length; i++) {
- if (niz[i] == null)
- return i;
- }
- return -1;
- }
- private double ukupnaZapreminaTeretnihObjekata() {
- double ukupnaZapremina = 0;
- for (int i = 0; i < niz.length; i++) {
- if (niz[i] != null)
- ukupnaZapremina += niz[i].tezina;
- }
- return ukupnaZapremina;
- }
- public void izvadiTeret(int indeks) {
- try {
- if (indeks < 0 || indeks >= niz.length)
- throw new Exception("Nije isparvan indeks");
- this.tezina -= niz[indeks].tezina;
- niz[indeks] = null;
- } catch (Exception e) {
- System.err.println(e);
- }
- }
- public void popisi() {
- byte[] bytes = (this.toString().getBytes(Charset.forName("UTF-8")));
- try {
- Files.write(Paths.get(this.serijskiBroj + ".txt"), bytes, StandardOpenOption.WRITE);
- } catch (IOException ex) {
- System.err.println(ex);
- }
- }
- public void izlistaj() {
- try {
- byte[] encoded = Files.readAllBytes(Paths.get(this.serijskiBroj + ".txt"));
- String s = new String(encoded, Charset.forName("UTF-8"));
- System.out.println(s);
- } catch (Exception ex) {
- System.err.println(ex);
- }
- }
- public String toString() {
- String s = "S " + super.toString() + "\n";
- for (int i = 0; i < niz.length; i++)
- if (niz[i] != null)
- s += "T " + super.toString() + "\n";
- return s;
- }
- public static Kontejner dohvatiII(String serijskiBroj) {
- Kontejner k = null;
- try {
- ResultSet rs1 = BazaPodataka.getInstanca()
- .select("SELECT * FROM kontejneri WHERE kontejnerSB = '" + serijskiBroj + "'");
- if (rs1.next()) {
- String sql = "SELECT * FROM tereti WHERE teretSB IN ";
- sql += "(SELECT teretSB FROM kontejneri_tereti WHERE kontejnerSB = '" + serijskiBroj + "')";
- ResultSet rs2 = BazaPodataka.getInstanca().select(sql);
- k = new Kontejner(serijskiBroj, rs1.getInt("duzina"), rs1.getInt("sirina"), rs1.getInt("visina"),
- rs1.getInt("brojElemenata"));
- while (rs2.next()) {
- k.dodajTeret(new Teret(rs2.getString("teretSB"), rs1.getInt("duzina"), rs1.getInt("sirina"),
- rs1.getInt("visina"), rs1.getDouble("tezina")));
- }
- }
- } catch (Exception e) {
- System.err.println(e);
- }
- return k;
- }
- }
- ------------------------------------------------------------------------------------------------------------------------
- package spt2015;
- import java.nio.charset.Charset;
- import java.nio.file.Files;
- import java.nio.file.Paths;
- import java.nio.file.StandardOpenOption;
- import java.sql.ResultSet;
- import java.util.ArrayList;
- import bazapodataka.BazaPodataka;
- public class Zapisnik {
- private int id;
- private String datum, kontejnerSB, brodSB;
- public Zapisnik(int id, String datum, String kSB, String bSB) {
- this.id = id;
- this.datum = datum;
- this.kontejnerSB = kSB;
- this.brodSB = bSB;
- }
- public static void pretraga(ArrayList<Zapisnik> lista, int godina, int mesec) {
- String kriterijum = godina + "-" + (mesec < 10 ? "0" + mesec : mesec);
- String sadrzaj = "";
- for (Zapisnik item : lista) {
- if (item.datum.contains(kriterijum))
- sadrzaj += item + "\n";
- }
- if (sadrzaj.equals(""))
- sadrzaj = "Nema rezultat koji dogovaraju ovom kriterijumu";
- byte[] bytes = ("----Rezultat---- \n" + sadrzaj + "----------").getBytes(Charset.forName("UTF-8"));
- try {
- Files.write(Paths.get("pretraga.txt"), bytes, StandardOpenOption.WRITE);
- } catch (Exception e) {
- System.err.println(e);
- }
- }
- public static String izlistaj(Zapisnik[] niz) {
- String sadrzaj = "";
- for (int i = 0; i < niz.length; i++) {
- if (niz[i] != null)
- sadrzaj += niz[i];
- }
- return sadrzaj;
- }
- public static ArrayList<Zapisnik> dohvati() {
- ArrayList<Zapisnik> lista = new ArrayList<Zapisnik>();
- ResultSet rs = BazaPodataka.getInstanca().select("SELECT * FROM zapisnici");
- try {
- while (rs.next()) {
- lista.add(new Zapisnik(rs.getInt("zapisnikID"), rs.getDate("datum").toString(),
- rs.getString("kontejnerSB"), rs.getString("brodSB")));
- }
- } catch (Exception e) {
- System.err.println(e);
- }
- return lista;
- }
- public String toString() {
- return this.id + " [" + this.datum + "]" + "<" + this.kontejnerSB + "," + this.brodSB + ">";
- }
- }
- ----------------------------------------------------------------------------------------------------------------
- package spt2015;
- import java.sql.ResultSet;
- import java.util.ArrayList;
- import bazapodataka.BazaPodataka;
- public class Brod {
- private String serijskiBroj, relacija;
- private double maksimalnaNosivost;
- ArrayList<Kontejner> lista;
- public Brod(String serijskiBroj, String relacija, double maksimalnaNosivost) {
- this.serijskiBroj = serijskiBroj;
- this.relacija = relacija;
- this.maksimalnaNosivost = maksimalnaNosivost;
- lista = new ArrayList<Kontejner>();
- }
- public static ArrayList<Brod> dohvatiIzBaze() {
- ArrayList<Brod> lista = new ArrayList<Brod>();
- ResultSet rs = BazaPodataka.getInstanca().select("SELECT * FROM brodovi");
- try {
- while(rs.next()) {
- lista.add(new Brod(rs.getString("brodSB"), rs.getString("relacija"), rs.getDouble("maksimalna_tezina")));
- }
- } catch (Exception e) {
- System.err.println(e);
- }
- return lista;
- }
- public double trenutnaTezina() {
- double trenutnaTezina = 0;
- for(Kontejner k : lista) {
- trenutnaTezina += k.getTezina();
- }
- return trenutnaTezina;
- }
- public void dodajKontejner(Kontejner k) {
- try {
- if(!(k instanceof Kontejner) || (trenutnaTezina() + k.getTezina() < maksimalnaNosivost)) {
- throw new Exception("Nije moguce dodati kontejner");
- }
- lista.add(k);
- } catch (Exception e) {
- System.err.println(e);
- }
- }
- public String toString() {
- String s = "Brod: " + serijskiBroj + "\n";
- s+= "Relacija: " + relacija + "\n";
- s+= "Maksimanla nosivost: " + maksimalnaNosivost + "\n";
- for(Kontejner k : lista) {
- s += k;
- }
- return s;
- }
- }
- ------------------------------------------------------------------------------------------------------------------------
- package bazapodataka;
- import java.sql.*;
- public class BazaPodataka {
- private static BazaPodataka instanca;
- private Connection conn;
- private BazaPodataka() {
- try {
- Class.forName("com.mysql.jdbc.Driver");
- conn = DriverManager.getConnection("jdbc:mysql://localhost/oop_g2", "root", "");
- } catch (Exception e) {
- System.err.println("Gre嗅a pri konekciji sa bazom!" + e.getMessage());
- System.exit(1);
- }
- }
- public static BazaPodataka getInstanca() {
- if (instanca == null) {
- instanca = new BazaPodataka();
- }
- return instanca;
- }
- public ResultSet select(String sql) {
- try {
- Statement stmt = conn.createStatement();
- return stmt.executeQuery(sql);
- } catch (Exception e) {
- System.err.println("Gre嗅a pri select upitu!");
- return null;
- }
- }
- public int uid_upit(String sql_upit) {
- try {
- Statement stmt = conn.createStatement();
- return stmt.executeUpdate(sql_upit);
- } catch (SQLException e) {
- System.err.println("Nije uspeo upit!");
- return 0;
- }
- }
- public void automatskaTransakcija(boolean on_off) {
- try {
- conn.setAutoCommit(on_off);
- } catch (SQLException e) {
- System.err.println("Nije uspelo pode啾vanje Auto Commit!");
- }
- }
- public void sacuvajTransakciju() {
- try {
- conn.commit();
- } catch (SQLException e) {
- System.err.println("Nije uspelo 鑾vanje transakcije!");
- }
- }
- }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement