Jak zabezpieczyć program, żeby nie wysypywał się po wpisaniu jakiegokolwiek ciągu znaków?

0

Witam. Jak zabezpieczyć program, żeby nie wysypywał się po wpisaniu jakiegokolwiek ciągu znaków? Póki co stworzyłem zabezpieczenie, by liczba nie wychodziła poza zakres, ale nie mam pomysłu jak zrobić, by pętla sprawdzała, czy podana wartość nie jest stringiem, a jeżeli jest to poprosić o wpisanie liczby ponownie.

 Scanner wej = new Scanner(System.in);
        int system = wej.nextInt();
        if(system<1 | system>6){
            System.out.println("Podana liczba jest błędna. Proszę o podanie liczby z zakresu od 1 do 6");
            do{
                int newsystem = wej.nextInt();
                system = newsystem;
            }
                while(system<1 | system>6);
        } 
1

hasInt() hasNextInt(), ewentualnie try

1
        Scanner wej = new Scanner(System.in);
        System.out.println("Proszę o podanie liczby całkowitej z zakresu od 1 do 6");
        int system = 0;
        while(true)
        {
            boolean ok = true;
            try
            {
                system = wej.nextInt();
                ok = (system>=1 && system<=6);
            }
            catch(Exception e)
            {
                ok = false;
                wej.next(); //czyszcenie bufora 
            }
            
            if(ok)
            {
                break;
            }
            System.out.println("Podana liczba jest błędna. Proszę o podanie liczby z zakresu od 1 do 6");
        }

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