package pl.am.object2.lesson47;
public class Test {
public static void main(String[] args) {
Farma farma = new Farma();
farma.setPies(new Pies("łatek", 15));
farma.setKot(new Kot("mruczek", 3));
farma.dodajZwierze(new Kura(1.9));
farma.dodajZwierze(new Kura(2.1));
farma.dodajZwierze(new Kura(2));
farma.dodajZwierze(new Kura(1.5));
farma.dodajZwierze(new Kura(2.5));
farma.dodajZwierze(new Krowa(150));
farma.dodajZwierze(new Krowa(150));
System.out.println(farma);
farma.sprzedajKury();
System.out.println(farma);
}
}
package pl.am.object2.lesson47;
import java.util.ArrayList;
public class Farma {
private Kot kot;
private Pies pies;
private ArrayList<Zwierze> kury = new ArrayList<>();
private ArrayList<Zwierze> krowy = new ArrayList<>();
private double pieniadze;
private static double kuraZaKilogram = 10;
public Kot getKot() {
return kot;
}
public void setKot(Kot kot) {
this.kot = kot;
}
public Pies getPies() {
return pies;
}
public void setPies(Pies pies) {
this.pies = pies;
}
public ArrayList<Zwierze> getKury() {
return kury;
}
public ArrayList<Zwierze> getKrowy() {
return krowy;
}
public int getIloscKur() {
return kury.size();
}
public int getIloscKrow() {
return krowy.size();
}
public double getPieniadze() {
return pieniadze;
}
// public void dodajZwierze(Zwierze zwierze) {
// if (zwierze instanceof Krowa) {
// krowy.add(zwierze);
// }
//
// if (zwierze instanceof Kura) {
// kury.add(zwierze);
// }
// }
public void dodajZwierze(Kura kura) {
kury.add(kura);
}
public void dodajZwierze(Krowa krowa) {
krowy.add(krowa);
}
public static void wypiszZwierzeta(ArrayList<Zwierze> zwierzeta) {
for (Zwierze zwierze : zwierzeta) {
System.out.println(zwierze);
}
}
public static String getZwierzentaInfo(ArrayList<Zwierze> zwierzeta) {
StringBuilder info = new StringBuilder();
for (Zwierze zwierze : zwierzeta) {
info.append(zwierze.toString()).append("\n");
}
return info.toString();
}
public void sprzedajKury() {
ArrayList<Zwierze> maleKury = new ArrayList<>();
double masaSuma = 0;
for (Zwierze kura : kury) {
if (kura.getMasa() > 2.0) {
masaSuma += kura.getMasa();
} else {
maleKury.add(kura);
}
}
pieniadze += masaSuma * kuraZaKilogram;
kury = maleKury;
}
@Override
public String toString() {
String info = "ilosc pienidzy: " + pieniadze + "\n ";
info += getIloscKur() + " kur: \n";
info += getZwierzentaInfo(getKury()) + "\n";
info += getIloscKrow() + " krów: \n";
info += getZwierzentaInfo(getKrowy());
return info;
}
}
package pl.am.object2.lesson47;
public abstract class Zwierze {
protected double masa;
public Zwierze(double masa) {
this.masa = masa;
}
public abstract void dajGlos();
public double getMasa() {
return masa;
}
}