Losowanie liczby - Wyjatek zlego formatu nie dziala

0

Witam, mam problem, nie lapie mi wyjatku, po wpisaniu znaku powinno sie wyswietlic "Zly format liczby..." ale program po prostu stoppuje. Wie ktos ocb?z gory dzieki

		catch(NumberFormatException e) 
		{
			System.out.println("Zly format liczby ...");
		}
package com.example.demo;

import java.io.IOException;
import java.util.Random;
import java.util.Scanner;

public class J3 {
	public static void main(String[] args) 
	{	
		Random random = new Random();
		int lotek = random.nextInt(100);
		System.out.println(lotek);
		Scanner scan = new Scanner(System.in);
		
		try 
		{
			for(;;)
			{
				System.out.println("Podaj liczbe : ");
				int liczba = scan.nextInt();
				if(liczba == lotek)
				{
					System.out.println("Gratulacje, zgadles!");
					
					String Odpowiedz;
					do
					{	
						System.out.println("Chcesz zagrac jeszcze raz? [Y/N]");
						Odpowiedz = scan.next();
						if(Odpowiedz.equalsIgnoreCase("N")) 
							return;
					}while(!Odpowiedz.equalsIgnoreCase("Y"));
				}
				else if(liczba > lotek)
					{
						System.out.print("Za duzo , ");
					}
				else 
				{
					System.out.print("Za malo , ");
				}
			}
		}
		catch(NumberFormatException e) 
		{
			System.out.println("Zly format liczby ...");
		}

		finally
		{
			scan.close();
		}
	}
}

0

wlasnie zamienilem NumberFormatException na Exception i dziala, ale czy to nie powinno dzialac rowniez na numberformatexception? Bo Exception to tak ogolnie chyba

1

Zajrzyj tutaj: https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextInt()
Wyjątki rzucane przez tę metodę są zupełnie inne niż ten który próbujesz złapać.
Powinieneś złapać ten: InputMismatchException

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