Я пытаюсь получить мой код, чтобы предотвратить ввод пользователем из числа.Как предотвратить целочисленный ввод в Java?
По существу я хочу код, чтобы сделать следующим образом:
- просят ввода
- получать входные
- тест на входе, содержит ли число (например: 5matt против матового)
- если содержит номер Я хочу
System.out.println("Error: please do not input a number");
Heres the kicker (и почему это не дублирующий вопрос): я могу " t использовать циклы или другие утверждения, которые мы еще не изучили. До сих пор единственными истинными утверждениями, которые мы узнали, являются if/else/else if statements. Это означает, что я не могу использовать для циклов, как предлагают некоторые из ответов. Хотя они отличные ответы и работают, я потеряю очки за их использование.
System.out.println("Please input the first name: ");
String name1 = in.next();
System.out.println("Please input the second name: ");
String name2 = in.next();
System.out.println("Please input the third name: ");
String name3 = in.next();
name1 = name1.substring(0,1).toUpperCase() + name1.substring(1).toLowerCase();
name2 = name2.substring(0,1).toUpperCase() + name2.substring(1).toLowerCase();
name3 = name3.substring(0,1).toUpperCase() + name3.substring(1).toLowerCase();
У меня есть это уже, но я не могу понять, как проверить, содержит ли вход только буквы.
Вы должны привыкнуть к чтению через [документацию по API] (http://docs.oracle.com/javase/8/docs/api/index.html). В частности, 'Character' имеет метод' isDigit() '. – azurefrog
** Или **, используйте * регулярное выражение *, как 'str.matches (". * \\ d. * ")' (Где 'str' является' String'), который скажет вам ** if * * 'String' содержит любые цифры. –
'if (name1.matches (". * \\ d +. * ") || name2.matches (". * \\ d +. * ") || name3.matches (". * \\ d +. * ")) {// здесь; } else {// no nums; } ' – px06