test zadatak1:
Kod:
package zadatak1;
class Belancevine{
double kj;
public Belancevine(double kj) {
this.kj = kj;
}
}
/* pecurke, soja */
class BiljneBelancevine extends Belancevine{
String nazivPovrca;
public BiljneBelancevine(double kj, String nazivPovrca){
super(kj);
this.nazivPovrca = nazivPovrca;
}
public String toString() {
return "KJ: "+kj+"<"+nazivPovrca+">";
}
}
class ZivotinjskeBelancevine extends Belancevine{
String poreklo; /* meso ili mleko */
public ZivotinjskeBelancevine(double kj, String poreklo){
super(kj);
this.poreklo = poreklo;
}
public String toString() {
return "KJ: "+kj+" <"+poreklo+">";
}
}
class Masti{
double kj;
public Masti(double kj) {
this.kj = kj;
}
}
class BiljneMasti extends Masti{
String izvor; /* voce ili povrce */
String naziv; /* naziv voca ili povrca */
public BiljneMasti(double kj, String izvor, String naziv){
super(kj);
this.izvor = izvor;
this.naziv = naziv;
}
public String toString() {
return "KJ: "+kj+" <"+izvor+" - "+naziv+">";
}
}
class ZivotinjskeMasti extends Masti{
String nazivZivotinje;
public ZivotinjskeMasti(double kj, String nazivZivotinje){
super(kj);
this.nazivZivotinje = nazivZivotinje;
}
public String toString() {
return "KJ: "+kj+" <"+nazivZivotinje+">";
}
}
class SastavDijete{
Belancevine bel;
Masti m;
public void odstampajDijetu(){
System.out.println("############### Sastav dijete #################");
System.out.println("****** belancevine ******");
System.out.println(bel);
System.out.println("****** masti ******");
System.out.println(m);
System.out.println("******");
System.out.println("###############################################");
}
}
abstract class Dijeta{
public abstract Belancevine izaberiBelancevine();
public abstract Masti izaberiMasti();
}
class SrpskaDijeta extends Dijeta{
public Belancevine izaberiBelancevine() {
return new ZivotinjskeBelancevine(50, "meso");
}
public Masti izaberiMasti() {
return new ZivotinjskeMasti(100, "krava");
}
}
class SkandinavskaDijeta extends Dijeta{
public Belancevine izaberiBelancevine() {
return new BiljneBelancevine(20, "paprika");
}
public Masti izaberiMasti() {
return new BiljneMasti(10, "povrce", "krastavac");
}
}
class Klijent{
Dijeta dijeta;
public Klijent(Dijeta dijeta) {
this.dijeta = dijeta;
}
public void odstampajDijetu(){
SastavDijete sastav = new SastavDijete();
sastav.bel = dijeta.izaberiBelancevine();
sastav.m = dijeta.izaberiMasti();
sastav.odstampajDijetu();
}
}
public class Glavna {
public static void main(String [] a){
Dijeta dijeta = new SrpskaDijeta();
Klijent klijent = new Klijent(dijeta);
klijent.odstampajDijetu();
}
}
test zadatak2:Kod:
package zadatak2;
import java.util.ArrayList;
import java.util.List;
class Osoba{
String ime;
public Osoba(String ime) {
this.ime = ime;
}
}
class Student extends Osoba{
String brInd;
public Student(String ime, String brInd) {
super(ime);
this.brInd = brInd;
}
@Override
public String toString() {
return ime+", "+brInd;
}
}
class Radnik extends Osoba{
String brRk;
public Radnik(String ime, String brRk) {
super(ime);
this.brRk = brRk;
}
@Override
public String toString() {
return ime+", "+brRk;
}
}
class KolekcijaOsoba{
List<Osoba> listOsoba;
KolekcijaOsoba(){
listOsoba = new ArrayList<Osoba>();
}
public void dodajOsobu(Osoba osoba){
listOsoba.add(osoba);
}
public List<Osoba> vratiListuOsoba(){
return listOsoba;
}
public Osoba vratiOsobu(int i){
return listOsoba.get(i);
}
}
class PodaciServis{
KolekcijaOsoba kOsoba;
ArrayList<ObradaPodataka> listaObrada;
public PodaciServis(){
kOsoba = new KolekcijaOsoba();
listaObrada = new ArrayList<ObradaPodataka>();
}
public void dodajObradu(ObradaPodataka op){
listaObrada.add(op);
}
public void dodajNovuOsobu(Osoba osoba){
kOsoba.dodajOsobu(osoba);
promena();
}
private void promena(){
for (ObradaPodataka op: listaObrada){
op.azurirajListu();
}
}
public KolekcijaOsoba vratiKolekciju(){
return kOsoba;
}
}
abstract class ObradaPodataka{
PodaciServis podaciServis;
ArrayList<Osoba> lOsoba;
void poveziNaServis(PodaciServis podaciServis){
this.podaciServis = podaciServis;
}
public abstract void azurirajListu();
public abstract void vratiOsobe();
public void prikazi() {
for (Osoba osoba : lOsoba) {
System.out.println(osoba);
}
}
}
class ObradaPodatakaStudent extends ObradaPodataka{
ObradaPodatakaStudent(){
vratiOsobe();
}
@Override
public void vratiOsobe() {
lOsoba = new ArrayList<Osoba>();
}
@Override
public void azurirajListu() {
vratiOsobe();
for (Osoba o: podaciServis.vratiKolekciju().vratiListuOsoba()){
try {
Student s = (Student) o;
lOsoba.add(s);
} catch (Exception e) {
}
}
}
}
class ObradaPodatakaRadnik extends ObradaPodataka{
ObradaPodatakaRadnik(){
vratiOsobe();
}
@Override
public void vratiOsobe() {
lOsoba = new ArrayList<Osoba>();
}
@Override
public void azurirajListu() {
vratiOsobe();
for (Osoba o: podaciServis.vratiKolekciju().vratiListuOsoba()){
try {
Radnik s = (Radnik) o;
lOsoba.add(s);
} catch (Exception e) {
}
}
}
}
public class Glavna {
public static void main(String[] args){
PodaciServis podaciServis = new PodaciServis();
ObradaPodataka obradaPodatakaStudent = new ObradaPodatakaStudent();
ObradaPodataka obradaPodatakaRadnik = new ObradaPodatakaRadnik();
podaciServis.dodajObradu(obradaPodatakaStudent);
podaciServis.dodajObradu(obradaPodatakaRadnik);
obradaPodatakaStudent.poveziNaServis(podaciServis);
obradaPodatakaRadnik.poveziNaServis(podaciServis);
podaciServis.dodajNovuOsobu(new Student("Laza Lazic", "1/2009"));
podaciServis.dodajNovuOsobu(new Student("Nina Ninic", "2/2009"));
podaciServis.dodajNovuOsobu(new Radnik("Zivojin Ljuskic", "11-9990"));
podaciServis.dodajNovuOsobu(new Student("Kljaja Kljajic", "3/2009"));
System.out.println("************* STUDENT ***************");
obradaPodatakaStudent.prikazi();
System.out.println("************* RADNIK ***************");
obradaPodatakaRadnik.prikazi();
}
}
test zadatak 3 (ovo je po principu samo da radi):Kod:
package zadatak3;
import java.util.ArrayList;
public class Porudzbina {
private ArrayList<Kafa> kafe;
private ArrayList<Caj> cajevi;
public Porudzbina(){
kafe = new ArrayList<Kafa>();
cajevi = new ArrayList<Caj>();
}
public Porudzbina(ArrayList<Kafa> kafe, ArrayList<Caj> cajevi){
this.kafe = kafe;
this.cajevi = cajevi;
}
public void dodajKafu(Kafa kafa){
kafe.add(kafa);
}
public void dodajCaj(Caj caj) {
cajevi.add(caj);
}
public void kuvajSve(){
for (Kafa kafa: kafe){
System.out.println("KUVAM: " + kafa);
kafa.kuvajKafu();
System.out.println("");
}
for (Caj caj: cajevi){
System.out.println("KUVAM: " + caj);
caj.staviVoduDaProkuva();
caj.dodajCaj();
caj.ubaciDodatke();
System.out.println("");
}
}
}
package zadatak3;
import java.util.ArrayList;
public class Glavna {
public static void main(String[] args) {
ArrayList<Caj> cajevi=new ArrayList<Caj>();
ArrayList<Kafa> kafe=new ArrayList<Kafa>();
Caj cajOdNane1=new Nana();
Caj crniCaj=new CrniSaMlekom();
Caj cajOdNane2=new Nana();
cajevi.add(cajOdNane1);
cajevi.add(crniCaj);
cajevi.add(cajOdNane2);
Kafa espresso1=new Espresso();
Kafa turskaKafa1=new TurskaKafa();
Kafa turskaKafa2=new TurskaKafa();
Kafa espresso2=new Espresso();
kafe.add(espresso1);
kafe.add(turskaKafa1);
kafe.add(espresso2);
kafe.add(turskaKafa2);
//kuvajKafe(kafe);
//ovo je moj kod
Porudzbina pica = new Porudzbina(kafe, cajevi);
pica.kuvajSve();
}
public static void kuvajKafe(ArrayList<Kafa> kafe){
for (int i = 0; i < kafe.size(); i++) {
kafe.get(i).kuvajKafu();
System.out.println("---------------------------");
}
}
}