Проблема с работой метода hasNextLine

Хочу написать программу которая проверяет, ввёл ли пользователь именно строку. Попробовала вот так, но она читает и числа в том числе, почему, что не так?) public class HasNextLine {

    public static void main(String[] args) {
        // write your code here
        Scanner input = new Scanner(System.in);
        System.out.println("Введите строку:");

        if (input.hasNextLine()){
            String s = input.nextLine();
            System.out.println(s.toLowerCase());
            System.out.println(s.toUpperCase());
            System.out.println(s.substring(1, 5));
            System.out.println(s.indexOf("hello"));
        }
        else {
            System.out.println("Извините, вы ввели не строку");
        }

    }

}


Ответы (1 шт):

Автор решения: Arty Morris

Как вариант. Я только не помню какое исключение будет

String s = input.nextLine();
Boolean _is_string = false;
try {
   int _t = Integer.ValueOf(s);
   _is_string = false;
} catch (NumberException e) {
   _is_string = true;
}
→ Ссылка