Wpisując ilość litrów wody wyskakują błędy – potrzebuję wskazówki

2018-12-03 15:16
0

witam, w wierszu 68, wpisując ilość litrów wody z przedziału od 13 do 19 wyskakują błędy, potrzebuję wskazówki:

package butelka;

class ZaMaloWody extends Exception
{
    public ZaMaloWody (String string)
    {
        super(string);
    }

}
class ZaDuzoWody extends Exception
{
    public ZaDuzoWody (String string)
    {
        super(string);
    }

}

public class Butelka {
    private double ileLitrow;
    double pojemnosc;

    Butelka(double ileLitrow, double pojemnosc)
    {
        this.ileLitrow = ileLitrow;
        this.pojemnosc = pojemnosc;

    }

    double getIleLitrow()
    {
        return ileLitrow;
    }
    void wlej(double ilosc) throws ZaDuzoWody
    {
        if ((ilosc + ileLitrow) <= pojemnosc)
        this.ileLitrow += ilosc;
        else
            throw new ZaDuzoWody("Za dużo wody");
    }
    void wylej(double ilosc) throws ZaMaloWody
    {
        if (ilosc <= ileLitrow)
            this.ileLitrow -= ilosc;
        else
            throw new ZaMaloWody ("za mało wody");
    }

    void przelej(double ilosc, Butelka gdziePrzelac) throws ZaMaloWody, ZaDuzoWody
    {
            this.wylej(ilosc);
            gdziePrzelac.wlej(ilosc);

    }

    @SuppressWarnings("empty-statement")
    public static void main(String[] args) throws ZaMaloWody, ZaDuzoWody {
        Butelka[] butelka = new Butelka[3]; //NULL

        butelka[0] = new Butelka(20, 30);
        butelka[1] = new Butelka(8, 20);
        butelka[2] = new Butelka(10, 30);

        try 
        {
        butelka[0].przelej(19, butelka[1]);
        }
        catch (ZaDuzoWody ex)
        {
            double b;
            b = butelka[1].pojemnosc - butelka[1].getIleLitrow();
            System.out.println(b);
            System.out.println(ex.getMessage());
            butelka[0].przelej(b, butelka[1]);
        }
        catch (ZaMaloWody ex)
        {
            System.out.println(ex.getMessage());
        }
        System.out.println(butelka[0].getIleLitrow());
        System.out.println(butelka[1].getIleLitrow());
        System.out.println(butelka[2].getIleLitrow());

    }

}
edytowany 1x, ostatnio: furious programming, 2018-12-03 15:53
wiesz, ze tu nie ma 68 liniii kodu? Lepiej po prostu skopiowac linijke kodu i ja przedstawic przed kodem - fasadin 2018-12-03 15:25
popraw tytuł na coś co ma jakoś wartość informacyjną. Obecny tytuł ma daje tyle samo informacji co samo założenie tematu. Tak oczywiście będę liczył do 68 :). - MarekR22 2018-12-03 15:26
@fasadin ha dobre, faktycznie jest akurat 67 linii lol - MarekR22 2018-12-03 15:30
@MarekR22: chodzilo mi o to ze nie ma numerowania linii, wiec trafilem na ziarnko bedac slepym xD - fasadin 2018-12-03 15:31
Może masz coś a z Rain Mana :) - MarekR22 2018-12-03 15:34

Pozostało 580 znaków

2018-12-03 15:41
0

Masz nieobsłużony wyjątek wewnątrz "catch (ZaDuzoWody ex)" dokładniej tutaj -> butelka[0].przelej(b, butelka[1]);

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0