Witam,
Jestem bardzo początkujący - mam mały problem z zadaniem a mianowicie mam następującą klasę Main:
Kod:
public class Main {
public static void main(String ... args) {
Zbiornik z1 = new Zbiornik(200);
System.out.println(z1);
z1.dolej(40);
System.out.println(z1);
z1.odlej(50);
System.out.println(z1);
Zbiornik z2 = new Zbiornik(1000);
z2.dolej(500);
System.out.println(z2);
}
}
dla której mam stworzyć klasę Zbiornik - wszystko już działa poza jednym - kiedy zmienię wartości dolewanej wody do zbiornika otrzymuję na konsoli wydruki o pojemności zbiornika poniżej 0 lub też przekraczające wprowadzoną pojemność zbiornika. Poniżej stworzona przeze mnie klasa Zbiornik:
public class Zbiornik
{
private static int iloscZbiornikow=1;
private int numer;
private double pojemnosc;
private double stan;
public double woda;
public Zbiornik(double pojemnosc)
{
numer=iloscZbiornikow++;
this.pojemnosc=pojemnosc;
woda = 0;
stan = 0;
}
public double dolej(double woda)
{
this.woda=woda;
if ((stan+= woda) > pojemnosc) return pojemnosc;
else return stan;
}
public double odlej(double woda)
{
this.woda=woda;
if ((stan -=woda) <= 0) return 0;
else return stan;
}
public String toString()
{
return "Zbiornik "+numer+", pojemność "+pojemnosc+", stan wody "+stan;
}
}
Jak mogę inaczej zapisać warunek if w obu danych metodach klasy Zbiornik żeby nie zwracały mi wartości większej niż dana pojemność zbiornika w przypadku dolewania i mniejszej niż 0 w przypadku odlewania??
Z góry dzięki za wszelkie wskazówki.