Witam. Zabrałem się za modyfikacje mojego starego kodu. Chciałem tylko dodać try-catch.
while(czyNieTrafil)
{
System.out.println("Strzelaj! Wybierz pole!");
try {
if(tablica[strzal-1]==1)
{
strzal=nowy.nextInt();
System.out.println("Trafiony!");
tablica[strzal-1]=0;
++trafione;
}
else
{
System.out.println("Chybiłeś");
}
czyNieTrafil=false;
}
catch (ArrayIndexOutOfBoundsException e)
{
System.err.println("Tablica nie posiada tylu pól! ");
}
catch (InputMismatchException ae)
{
System.err.println("Zły typ danych, wprowadz liczbe calkowita :)");
}
}
Kiedy wpiszę za dużą liczbę - wszystko ok, wyświetli się błąd, że tablica nie posiada tylu pól i użytkownik będzie mógł ponownie wpisać pole. Jeśli natomiast wpiszę zły typ danych (różny od inta) to program się wypisuje. Wyrzuca zapętloną w nieskończoność kombinacje:
n x "Strzelaj! Wybierz pole!"
n x "Zły typ danych, wprowadz liczbe calkowita :)"
n - liczba losowa.
Nie mam pojęcia jak to naprawić.