hasNextInt() в цикле

249
29 декабря 2017, 00:21

Мне нужно защитить приложение от краша в случаи ввода букв в интовом сканнере. Но в данном случае, если ввести буквы, оно примет нужное значение, но при повторном прохождении цикла сканер пропускается. подскажите как исправить?

public static void main(String[] args) 
{        
    Scanner sc = new Scanner(System.in);
    System.out.println("Enter 1,2,3 or 0?");
    int a=0;
    for(int i=0;i<3;i++)
    {
        if(sc.hasNextInt()) a=sc.nextInt();
        else a=0;
        if(a==1) System.out.println("a 1");
        if(a==2) System.out.println("a 2");
        if(a==3) System.out.println("a 3");
        if(a==0) System.out.println("a 0"); 
    }   
    System.out.println("усё");
}
Answer 1
int a = 0;
while (true) {
    try {
        Scanner scan = new Scanner(System.in);
        System.out.print("Enter 1,2,3 or 0?");
        a = scan.nextInt();
        if (a<0 || a>3) throw new InputMismatchException();
        break;
    } catch (java.util.InputMismatchException e) {
        System.out.println("Некорректный ввод!");
    }
}
System.out.println("a "+a);
System.out.println("усё");
READ ALSO
Как вставить изображение в TextPane

Как вставить изображение в TextPane

У меня есть jTextPane и button, хочу реализовать систему смайликовВообщем когда жмём на кнопку то сразу ставится картинка(смайлик) возле текста

224
Отправка с android на сервер запроса firebase

Отправка с android на сервер запроса firebase

Появилась идея создания сервиса отслеживания пользователяИдея состоит в том что пользователь заходит на сервер нажимает кнопку получить...

211
Можно ли отправлять сообщения из своей программы на whats app

Можно ли отправлять сообщения из своей программы на whats app

ЗдравствуйтеПоявилась нужда в такой программе на андроид из которой можно отправлять сообщения на whatsApp

220
Java Graphics, нарисовать круг

Java Graphics, нарисовать круг

Изучаю Java, по-тихоньку пытаюсь что-то делатьНеобходимо на фрейме нарисовать круг, фрейм создал

270