Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package hr.java.vjezbe.glavna;
- import java.math.BigDecimal;
- import java.time.LocalDate;
- import java.util.Scanner;
- import hr.java.vjezbe.entitet.Artikl;
- import hr.java.vjezbe.entitet.Automobil;
- import hr.java.vjezbe.entitet.Kategorija;
- import hr.java.vjezbe.entitet.Korisnik;
- import hr.java.vjezbe.entitet.PoslovniKorisnik;
- import hr.java.vjezbe.entitet.PrivatniKorisnik;
- import hr.java.vjezbe.entitet.Prodaja;
- import hr.java.vjezbe.entitet.Usluga;
- public class Glavna {
- public static void main(String[] args) {
- final Scanner unos = new Scanner(System.in);
- System.out.print("Unesite broj korisnika koji želite unjeti: ");
- int brKorisnika = unos.nextInt();
- unos.nextLine();
- Korisnik[] korisnici = new Korisnik[brKorisnika];
- for(int i = 0; i < brKorisnika; i++)
- {
- korisnici[i] = unosKorisnika(unos, i+1);
- }
- System.out.print("Unesite broj kategorija koji želite unjeti: ");
- int brKategorija = unos.nextInt();
- unos.nextLine();
- Kategorija[] kategorije = new Kategorija[brKategorija];
- for(int i = 0; i < brKategorija; i++)
- {
- kategorije[i] = unosKategorija(unos, i+1);
- }
- System.out.print("Unesite broj artikala koji su aktivno na prodaju: ");
- int aktivniArtikli = unos.nextInt();
- unos.nextLine();
- Prodaja[] prodajeSe = new Prodaja[aktivniArtikli];
- for(int i = 0; i < aktivniArtikli; i++)
- {
- prodajeSe[i] = odabirProdaje(unos, korisnici, kategorije);
- }
- System.out.println("Trenutno su oglasi na prodaju:");
- for(int i = 0; i < prodajeSe.length; i++)
- {
- prodajeSe[i].ispisPodatakaOProdaji();
- }
- }
- private static Prodaja odabirProdaje(Scanner unos, Korisnik[] korisnici, Kategorija[] kategorije)
- {
- System.out.println("Odaberite korisnika:");
- for(int i = 0; i < korisnici.length; i++)
- {
- System.out.println(korisnici[i].dohvatiKontakt());
- }
- System.out.println("Odabir >>");
- int odabirKor = unos.nextInt() - 1;
- System.out.println("Odaberite kategoriju:");
- for(int i = 0; i < kategorije.length; i++)
- {
- System.out.println((i+1)+". "+ kategorije[i].getNaziv());
- }
- System.out.println("Odabir >>");
- int odabirKat = unos.nextInt() - 1;
- System.out.println("Odaberite artikl:");
- kategorije[odabirKat].ispisArtikala();
- System.out.println("Odabir >>");
- int odabirArtikla = unos.nextInt() - 1;
- Artikl artikl = kategorije[odabirKat].getArtikl(odabirArtikla);
- LocalDate datum = LocalDate.now();
- return new Prodaja(artikl, korisnici[odabirKor], datum);
- }
- private static Kategorija unosKategorija(Scanner unos, int i)
- {
- System.out.print("Unesite naziv "+ i +" kategorije: ");
- String naziv = unos.nextLine();
- System.out.print("Unesite broj artikala koji želite unijeti za unesenu kategoriju: ");
- int brArtikala = unos.nextInt();
- unos.nextLine();
- Artikl[] kartikli = new Artikl[brArtikala];
- for(int j = 0; j < brArtikala; j++)
- {
- kartikli[j] = unosArtikla(unos, j);
- }
- return new Kategorija(naziv, kartikli);
- }
- private static Artikl unosArtikla(Scanner unos, int j)
- {
- System.out.println("Unesite tip "+ (j+1) +". artikla\n1. Usluga\n2. Automobil");
- System.out.println("Odabir >>");
- int odabirTipArtikla = unos.nextInt();
- unos.nextLine();
- if(odabirTipArtikla == 1)
- {
- System.out.print("Unesite naslov "+ (j+1) +". oglasa usluge: ");
- String naslov = unos.nextLine();
- System.out.print("Unesite opis "+ (j+1) +". oglasa usluge: ");
- String opis = unos.nextLine();
- System.out.print("Unesite cijenu "+ (j+1) +". oglasa usluge: ");
- BigDecimal cijena = unos.nextBigDecimal();
- unos.nextLine();
- return new Usluga(naslov, opis, cijena);
- }
- else
- {
- System.out.print("Unesite naslov "+ (j+1) +". oglasa automobila: ");
- String naslov = unos.nextLine();
- System.out.print("Unesite opis "+ (j+1) +". oglasa automobila: ");
- String opis = unos.nextLine();
- System.out.print("Unesite snagu "+ (j+1) +". (u ks) oglasa automobila: ");
- BigDecimal snagaKs = unos.nextBigDecimal();
- System.out.print("Unesite cijenu "+ (j+1) +". oglasa artikla: ");
- BigDecimal cijena = unos.nextBigDecimal();
- unos.nextLine();
- return new Automobil(naslov, opis, cijena, snagaKs);
- }
- }
- private static Korisnik unosKorisnika(Scanner unos, int i)
- {
- System.out.println("Unesite tip "+ i +". korisnika\n1. Privatni\n2. Poslovni");
- System.out.println("Odabir >>");
- int odabirTipKor = unos.nextInt();
- unos.nextLine();
- if(odabirTipKor == 1)
- {
- System.out.print("Unesite ime "+ i +". osobe: ");
- String ime = unos.nextLine();
- System.out.print("Unesite prezime "+ i +". osobe: ");
- String prezime = unos.nextLine();
- System.out.print("Unesite e-Mail "+ i +". osobe: ");
- String email = unos.nextLine();
- System.out.print("Unesite telefon "+ i +". osobe: ");
- String telefon = unos.nextLine();
- return new PrivatniKorisnik(ime, prezime, email, telefon);
- }
- else {
- System.out.print("Unesite naziv "+ i +". tvrtke: ");
- String naziv = unos.nextLine();
- System.out.print("Unesite e-Mail "+ i +". tvrtke: ");
- String email = unos.nextLine();
- System.out.print("Unesite web "+ i +". tvrtke: ");
- String web = unos.nextLine();
- System.out.print("Unesite telefon "+ i +". korisnika: ");
- String telefon = unos.nextLine();
- return new PoslovniKorisnik(naziv, web, email, telefon);
- }
- }
- }
- //ovo sad je automobil.java
- package hr.java.vjezbe.entitet;
- import java.math.BigDecimal;
- public class Automobil extends Artikl implements Vozilo {
- BigDecimal snagaKs;
- public Automobil(String naslov, String opis, BigDecimal cijena, BigDecimal snagaKs) {
- super(naslov, opis, cijena);
- this.snagaKs = snagaKs;
- }
- public BigDecimal getSnagaKs() {
- return snagaKs;
- }
- public void setSnagaKs(BigDecimal snagaKs) {
- this.snagaKs = snagaKs;
- }
- @Override
- public BigDecimal izracunajGrupuOsiguranja() {
- BigDecimal snagaKw = izracunajKw(snagaKs);
- if(snagaKw.compareTo(BigDecimal.valueOf(50))<0) {
- return BigDecimal.valueOf(1);
- }
- else if(snagaKw.compareTo(BigDecimal.valueOf(80))<0) {
- return BigDecimal.valueOf(2);
- }
- else if(snagaKw.compareTo(BigDecimal.valueOf(100))<0) {
- return BigDecimal.valueOf(3);
- }
- else if(snagaKw.compareTo(BigDecimal.valueOf(150))<0) {
- return BigDecimal.valueOf(4);
- }
- else if(snagaKw.compareTo(BigDecimal.valueOf(170))<0) {
- return BigDecimal.valueOf(5);
- }
- else
- {
- return BigDecimal.valueOf(5);
- }
- }
- @Override
- public String tekstOglasa() {
- return "Naslov automobila: "+ getNaslov() +"\n"
- + "Opis automobila: "+ getOpis() +"\n"
- + "Snaga automobila: "+ snagaKs +"\n"
- + "Izračun osiguranja automobila: "+ izracunajCijenuOsiguranja() +"\n"
- + "Cijena automobila: "+ getCijena();
- }
- }
- // usluge.java
- package hr.java.vjezbe.entitet;
- import java.math.BigDecimal;
- public class Usluga extends Artikl {
- public Usluga(String naslov, String opis, BigDecimal cijena) {
- super(naslov, opis, cijena);
- }
- @Override
- public String tekstOglasa() {
- return "Naslov usluge: "+ getNaslov() +"\n"
- + "Opis usluge: "+ getOpis() +"\n"
- + "Cijena usluge: "+ getCijena();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement