6 / 6 / 1
Регистрация: 29.11.2013
Сообщений: 492

Проверка на ввод только чисел

13.03.2014, 10:06. Показов 31797. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Народ как сделать проверку что бы вводились только числа?

Добавлено через 6 минут
Можно ли сделать в виде какого либо перечисления что нельзя использовать или на оборот?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.03.2014, 10:06
Ответы с готовыми решениями:

Проверка на ввод только чисел
Написал программу которая принимает два числа а потом оперирует. Но если я ввожу букву то выдаёт ошибку, как сделать так чтобы если вводил...

Проверка на ввод только чисел
Привет! У меня есть код: #include "stdio.h" int main() {

Проверка на ввод только целых и вещественных чисел
как сделать проверку на ввод только целых и вещественных чисел? и чтоб прога бы не вылетала, а просто б просила заново ввести значения) ...

6
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
13.03.2014, 10:39
Цитата Сообщение от qdhtnsoyndtr Посмотреть сообщение
что бы вводились только числа?
какие именно числа? Целые, дробные? В какой системе исчисления?

Добавлено через 16 минут
Если с помощью обычной проверки, можно как-то так, например
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public static boolean isNumeric(String x)
{
    return isInt(x) || isDouble(x);
}
public static boolean isInt(String x) throws NumberFormatException
{
    try {
        Integer.parseInt(x);
        return true;
    } catch(Exception e) {
        return false;
    }
}
public static boolean isDouble(String x) throws NumberFormatException
{
    try {
        Double.parseDouble(x);
        return true;
    } catch(Exception e) {
        return false;
    }
}
...
Java
1
isNumeric("значение")
или воспользоваться регулярками, например
Java
1
2
3
4
5
6
public static boolean isNumeric(String x)
{
    Pattern p = Pattern.compile("^\\d+(?:\\.\\d+)?$");
    Matcher m = p.matcher(x);
    return m.matches();
}
А так, есть Scanner.nextDouble(), nextInt() и т.д.
1
6 / 6 / 1
Регистрация: 29.11.2013
Сообщений: 492
13.03.2014, 12:37  [ТС]
Целые, то есть спрашиваем у пользователя что сделать если 1 одно действие если 2 другое.
Вот как сделать проверку, что бы програ не падала, если не число, а буква?

Добавлено через 1 час 48 минут
Вот думаю через трай сделать но что то не выходит
Java
1
2
3
4
5
6
7
8
9
10
11
System.out.println("Укажите сколько в слове должно быть букв.");
        Letters = sc.nextInt();
        try 
        {
            
        }
        catch (InputMismatchException e) 
        {
            System.out.println("\nПроверьте правильность ввода.\nМожете повторить попытку.");
            Program();
        }
Если на пример вводим буквы то выдает ошибку, а по идее должен идти в кэч.
Думаю что ошибку не правильно указываю...

Добавлено через 8 минут
Моя ошибка
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
0
 Аватар для verylazy
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
13.03.2014, 12:52
я бы после ввода просто убивал бы любые символы, кроме цифр, регуляркой
а потом уже парсил числа из того, что осталось
0
6 / 6 / 1
Регистрация: 29.11.2013
Сообщений: 492
13.03.2014, 13:14  [ТС]
Я вот из примера KOPOJI,
Java
1
2
3
4
5
6
public static boolean isNumeric(String x)
{
    Pattern p = Pattern.compile("^\\d+(?:\\.\\d+)?$");
    Matcher m = p.matcher(x);
    return m.matches();
}
Не очень понимаю как сделать, буду благодарен если подскажите.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
13.03.2014, 14:45
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public static int getInt()
{
    Scanner in = new Scanner(System.in);
    String s = null;
    Pattern p = Pattern.compile("^\\d+$");
    Matcher m = null;
 
    do
    {
        System.out.println("Введите целое число");
        s = in.nextLine();
        m = p.matcher(s);
    } while(!m.matches());
 
    return Integer.parseInt(s);
}
Java
1
2
...
int x = getInt();
2
6 / 6 / 1
Регистрация: 29.11.2013
Сообщений: 492
13.03.2014, 16:12  [ТС]
KOPOJI, Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.03.2014, 16:12
Помогаю со студенческими работами здесь

Проверка на ввод только числа
Необходимо ввести с клавиатуры число double. Есть проверка на ввод double enterImaginary; for (;;) { std::cout <<...

Проверка на ввод только нескольких букв
Проверка на ввод только цифр или букв, понятна, а вот собственно нужно ввести только три буквы по очереди типа R, Y, W в противном случае...

Проверка на ввод только одного символа
Код #include <iostream> #include <windows.h> using namespace std; int main() { SetConsoleCP(1251); ...

Проверка на ввод только символов (строковый класс)
Здравствуйте, проблема заключается в том, что не знаю как сделать проверку на ввод только символов в строковом классе. string color; ...

Ввод двух целых чисел и проверка этих чисел условиями
Задача в том, что нужно ввести два числа и проверить: если 1-е отрицательное и 2-е положительное то вывести '+', если нет то '-'. Без ввода...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru