zadanie z pętli, java

0

cześć, mam problem z zapisaniem logiki w pętli. W zadaniu chodzi o to, że trzeba podać początkową wartość populacji, dzienny przyrost w % i ilość dni przez które następuje przyrost. Tak wygląda mój kod:

public static void main(String[] args) {
        int startPop = 0,
            avgDayAdd,
            days;
        double totalPop = 0;
        double population=0;

        Scanner scanner = new Scanner(System.in);
        System.out.println("podaj poczatkowa ilosc populacji:");
        startPop = scanner.nextInt();

        System.out.println("podaj dzienny przyrost w % :");
        avgDayAdd = scanner.nextInt();
        double avg = avgDayAdd / 100.0;

        System.out.println("podaj ilosc dni przez ktore rozmnazaja sie organizmy: ");
        days = scanner.nextInt();

        if (startPop < 2 && avgDayAdd < 0 && days < 1) {
            System.out.println("błędne dane wejściowe!");
        } else {
            population = startPop;
            for (int i = 1; i <= days; i++) {
                totalPop += population;
                population = (population + (population*avg));
                System.out.println("populacja na dzień " + i + " wynosi: " + totalPop);
            }
        }
    }

przy populacji 7, przyroście 100% i dowolnej ilości dni, dane wyjściowe powinny wg mnie wyglądać następująco: dzień 1 -> 7; 2 -> 14; 3 -> 28; 4 -> 56 itd.
Poproszę o cenne rady ;)
"thank you from the mountain"

3

@Ziuk1805:

Zrób sobie "test driven development na papierze"
Najpierw sprawdź czy ci liczy dla zero dni (serio, czy już tu nie ma błędu)
Następnie, jakie wyniki masz dla jednego dnia (tylko jeden dzień przyrostów)

Dla dwóch dni sprawdzasz, czy się dobrze liczy. Ma brać stan z dnia pierwszego i modyfikować zmiany o 1 dzień

Może jeszcze dla trzeciego dnia, stan z dnia 2-go i modyfikacje jednodniowe.

W tym miejscu powinieneś już chyba znaleźć gdzie, co i jak jest OK, gdzie nie jest OK i spróbować poprawić błąd.
Poprawka. I od nowa, 0 dni, 1 dzień, 2 dni. Dalej błąd czy już OK?

Populacja 100, przyrost 50%
Po 0 dni: 100
Po 1 dniu: 100 + 0.5*100 = 150
Po 2 dniach: 150 + 0.5*150 = 225
itd

Dobierz dziwne ale łatwo sprawdzalne w głowie parametry i leć z testowaniem

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