Wpis z mikrobloga

#naukaprogramowania #java

Siemanko mireczki, uczę się programowania, jestem początkujący i pisałem sobie prosty kod: tabela butelek, każda ma ileś tam litrów i stworzyłem sobie konstruktor, kilka metod: do wlewania, wylewania i przelewania. Chciałby ktoś sprawdzić gdzie mogę mieć błąd ? :> Bo pobiera mi dwa razy większe wartości gdy chcę przelać i nie wiem czemu + chciałbym żeby nie odejmowało mi z butelki litrów gdy nie wystarczy miejsca w tej drugiej i nie wiem jak to ogarnąć, jakieś pomysły ?

package butelka1;

public class Butelka1 {

double ileLitrow;
double pojemnosc;

Butelka1(double ileLitrow, double pojemnosc){
this.ileLitrow = ileLitrow;
this.pojemnosc = pojemnosc;
}

double getIleLitrow(){
return ileLitrow;
}

double getPojemnosc(){
return pojemnosc;
}


boolean wlej (double wlej) {
if (this.pojemnosc - this.ileLitrow >= wlej)
{this.ileLitrow += wlej;
return true;}
else
{System.out.println("NIE ZMIESCI SIE");
return false;}
}

boolean wylej (double wylej)
{
if (this.ileLitrow >= wylej)
{ this.ileLitrow -= wylej;
return true;
}
else
return false;
}

void przelej (double ilosc, Butelka1 gdziePrzelac)
{
if (this.wylej(ilosc) == true)
{ gdziePrzelac.wlej(ilosc);
this.wylej(ilosc);
}
else
{ System.out.println("CHCESZ PRZELAC ZA DUZO");
}

}

public static void main(String[] args) {
Butelka1[] butelka = new Butelka1[50];

for (int a = 0; a < butelka.length; a++)
{ butelka[a] = new Butelka1(a, a+10);}

butelka[20].przelej(10, butelka[5]);

System.out.println(butelka[5].getIleLitrow() + " " + butelka[5].getPojemnosc());
System.out.println(butelka[10].getIleLitrow() + " " + butelka[10].getPojemnosc());
System.out.println(butelka[20].getIleLitrow() + " " + butelka[20].getPojemnosc());
System.out.println(butelka[30].getIleLitrow() + " " + butelka[30].getPojemnosc());
System.out.println(butelka[40].getIleLitrow() + " " + butelka[40].getPojemnosc());

}

}
  • 12