Potęgi i pętla - prośba o wyjaśnienie

0

Robię różne ćwiczenia z netu, z większością nie mam problemu, ale przy tym ćwiczeniu popełniam gdzieś błąd i zupełnie nie wiem gdzie...
Wprowadzam liczbę całkowitą dodatnią n, a program na na ekranie wyświetlić wszystkie potęgi liczby 2 nie większe niż n.

Zadanie niby proste, ale mój kod wyświetla o jedną liczbę za dużo. To znaczy, jak podaje autor ćwiczenia dla np. liczby n = 71, powinienem otrzymać następujący rezultat:
1
2
4
8
16
32
64

Niestety mój kod wyświetla jeszcze 128. Będę wdzięczny za wyjaśnienie, gdzie robię błąd:

import java.util.*;

public class Potega 
{
	public static void main(String[] args)
	{
		Scanner in = new Scanner(System.in);
		int n =0;
		while ( n <= 0 )
		{
			System.out.print("Podaj liczbę całkowitą dodatnią: ");
			n = in.nextInt();
		}
		int potega = 0;
		double wynik = 0;
		while (wynik <= n)
		{
			wynik = Math.pow(2, potega);
			potega ++;
			System.out.println(wynik);
		}
	}
}
1

https://ideone.com/JtIPn5
Print przeniesione 2 linijki wyżej i już działa, no magia jakaś:)

1

while najpierw sprawdza warunek (wtedy wynik = 64), a potem wykonuje ciało pętli.

0

Faktycznie :)

Głupi błąd. Dzięki za pomoc!

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