Napisałem ćwiczenie z butelką ,większość działa w porządku ,oprócz tego że nie uwzględnia ilości z pętli. Przez to program przechodzi w porządku pomimo większej ilości wody ,niż pojemności, zawartej w pętli.
Code: Zaznacz cały
public class Butelka {
private double ileLitrow;
private double pojemnosc;
Butelka(double ileLitrow, double pojemnosc) {
this.ileLitrow = ileLitrow;
this.pojemnosc = pojemnosc;
}
double getIleLitrow() {
return ileLitrow;
}
double getPojemnosc() {
return pojemnosc;
}
boolean wlej(double ilosc) {
if (pojemnosc >= ilosc) {
if (ilosc >= ileLitrow)
this.ileLitrow += ilosc;
else
return false;
} else
System.out.println("Za mała pojemność");
return true;
}
boolean wylej(double ilosc) {
if (pojemnosc >= ilosc) {
} else
System.out.println("Za mało litrów");
if (ilosc <= ileLitrow)
this.ileLitrow -= ilosc;
else
return false;
return true;
}
void przelej(double ilosc, Butelka gdziePrzelac) {
if (this.wylej(ilosc)) {
gdziePrzelac.wlej(ilosc);
} else
System.out.println("Za mało");
}
public static void main(String[] args) {
Butelka[] butelka = new Butelka[3]; // NULL
for (int i = 0; i < butelka.length; i++) {
butelka[i] = new Butelka(i, 8 + (2 * i));
}
butelka[1].wlej(10);
butelka[1].przelej(8, butelka[0]);
System.out.println("Ilosc litrow: ");
for (int i = 0; i < butelka.length; i++) {
System.out.println(butelka[i].getIleLitrow());
}
System.out.println("Pojemnosc: ");
for (int i = 0; i < butelka.length; i++) {
System.out.println(butelka[i].getPojemnosc());
}
}
}