Witam,
chcę napisać program którego zadaniem będzie " tworzenie butelki o danej pojemności, wlewanie oraz wylewanie do niej wody, oraz przelewanie wody z jednej do drugiej butelki"
i tu jest mój problem, ponieważ gdy chcę przelać np 100litrów wody z butelki nr 1 do butelki nr 2 podczas gdy w butelce nr 1 jest np 50 litrów , to ta operacja się wykona.
Tu moja prośba, napisałem warunek ze jezeli butelka ma 50litrow to da się z niej wylać tylko 50litrow, ale nie wiem jak zrobić aby wlalo mi te 50 litrow podczas gdy wpisalem 100
oto mój kod :
plik Butelka.java
package com.company;
import com.sun.istack.internal.localization.NullLocalizable;
public class Butelka {
private double ileLitrow;
public Butelka() {
}
public Butelka(double ileLitrow) {
this.ileLitrow = ileLitrow;
}
double getIleLitrow() {
return ileLitrow;
}
void wlej(double ilosc) {
this.ileLitrow = this.ileLitrow + ilosc;
}
void wylej(double ilosc) {
if (this.ileLitrow > ilosc) {
this.ileLitrow = this.ileLitrow - ilosc;
System.out.println("Wylano " + ilosc + "litrow");
} else if (this.ileLitrow < ilosc) {
System.out.println("Butelka posiadała " + ileLitrow + " litrow wody ktore zostaly wylane");
ilosc = this.ileLitrow;
System.out.println(ilosc);
this.ileLitrow = 0;
}
}
void przelej(double ilosc, Butelka gdziePrzelac) { //metoda odpowiadająca za przelewanie
this.wylej(ilosc);
gdziePrzelac.wlej(ilosc);
}
}
plik main.java
package com.company;
public class Main {
public static void main(String[] args) {
Butelka[] butelka = new Butelka[3];
for (int i = 0; i < butelka.length; i++) {
butelka[i] = new Butelka(20 * i+1);
}
System.out.println(butelka[2].getIleLitrow());
System.out.println(butelka[1].getIleLitrow());
butelka[2].przelej(100,butelka[1]);
System.out.println(butelka[2].getIleLitrow());
System.out.println(butelka[1].getIleLitrow());
}
}