как в java проверить вводные данные на тип

154
24 июня 2019, 04:40

Подскажите новичку, как в java проверить вводные данные на тип? нужно получить вводные данные типа int, а не какие другие. Спасибо, заранее) P.S.:я немного подправил код, были "косяки", но если честно проблему не решил с вводом данных от пользователя, но всех кто откликнулся на просьбу благодарю.

import java.util.*;//подключаем ввод данных от пользователя
class MyClass{
    public static void main(String[] args)
    {
        Scanner value_1= new Scanner(System.in);//ввод числа от пользователя, с клавиатуры
        System.out.println("Guess the intended number from 20 to 100.");//угадай задуманное число от 20 до 100
        int value_2=0;
        //заводим цикл while(), который будет проверять вводимые данные на угадывание числа
         value_2 = value_1.nextInt();
         while(value_2!=64){
         if(value_2 < 20){System.out.println("The number must be more than 20 and less than 100.");}//Число должно быть более 20 и менее 100.
         else if(value_2>100)
           {System.out.println("The number must be less than 100.");}//Число должно быть меньше 100.
         else{
           System.out.println("You have not guessed the intended number!"+"\n"+value_2+" is not intended number. Than try again.");} // Вы не угадали задуманное число,попробуйте еще
                //на выводе программа подсказывает число пользователя больше или меньше нашего задуманного числа
                if(value_2 > 64)
                {System.out.println("   hint: "+value_2+"  more than our number!\n");}//подсказка:... такое-то число больше нашего
                else
                {System.out.println("   hint: "+value_2+"  less than our number!\n");}//подсказка...такое-то число меньше нашего
           value_2 = value_1.nextInt();// присваиваем полученное число переменной value_2
         }//проверяем вводимое число и возвращаемся снова пока не угадано число 64           
         System.out.println("Сongratulations! You guessed it, this number is 51!");//Поздравляем! Вы угадали, это число  64!
    } 
}
Answer 1
Scanner scanner = new Scanner(System.in);
int value = 0;
while(value != 64){
    String strValue = scanner.nextLine();
    if (!strValue.matches("-?\\d+")) {
        System.out.println("Вы ввели не число");
        continue;
    } else {
        value = Integer.parseInt(strValue);
    }
    //...
}
READ ALSO
Как получить разные части из одного String?

Как получить разные части из одного String?

Есть текстовый файл со следующим текстом

142
Подскажите библиотеки для рисования (android) [закрыт]

Подскажите библиотеки для рисования (android) [закрыт]

Мне нужна графическая библиотека, в которой можно разместить картинку и нарисовать линию, потому что встроенных адекватных библиотек я не нашёл

135
Странное выполнение блока finally

Странное выполнение блока finally

Всем приветПри регистрации пользователя ему отправляется email с подтверждением через метод sendActiovationEmail

221
Почему отсортированный массив обрабатывается быстрее, чем не отсортированный?

Почему отсортированный массив обрабатывается быстрее, чем не отсортированный?

Вот пример C++ кода, который выглядит очень странноПочему-то, когда данные отсортированы код выполняется почти в шесть раз быстрее

168