Zdravím, potřeboval bych poradit s částí programu. Mám vytvořit program, který po načtení čísla zjistí jestli je to druhá mocnina nějakého čísla. Vše by mi tak nějak fungovalo až na vyjímku
import java.util.Scanner;
public class mocninyy {
public static void main(String[] args) {
Scanner sc=new Scanner (System.in);
int h;
System.out.println("Zadejte číslo");
h = sc.nextInt();
int i = h;
int n = 0;
while (i > 1) {
if (i % 2 == 1) {
System.out.println("Nemá druhou mocninu "); break;
}
i = i / 2;
n = n + 1;
}
System.out.println(h + " = 2 na " + n);
}
}
problém je v tom, že když zadám třeba číslo 16 tak je vše v pořádku, ale když zadám číslo 17 vypíše se Zadejte číslo
17
Nemá druhou mocninu
17 = 2 na 0
což by bylo v pořádku, ale já nechci aby si mi vypsalo 17= 2 na 0
Tak prosím o radu co stím...