Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 1
Регистрация: 16.02.2014
Сообщений: 113

Некорректный ввод или из C++ в Java

20.07.2015, 14:41. Показов 1645. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! В Java я новичок, но быстро учусь
Подскажите, пожалуйста, как совершить проверку ввода данных на Java. Вот как делал это на С++:
C++
1
2
3
4
5
6
7
8
9
int x;
cout << "\nEnter number (-10 to 10): ";
while(!(cin>>x) || (x<(-10)) || (x>10) || cin.get() != '\n' ) //incorrect input protection
{
    cout<<"Input incorrect. Please, try again.\n";
    cin.clear(); // resets all bits of stream
    cin.sync(); //remove data from the buffer
    cout << "\nEnter number (-10 to 10): ";
}
Java
1
2
3
4
5
6
7
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
 
int x;
System.out.println("\nEnter number (-10 to 10): ");
{
    //ввод и проверка
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.07.2015, 14:41
Ответы с готовыми решениями:

Пользователь вводит число. Если произошла ошибка ввода, выведите пользователю сообщение о том, что ввод некорректный
Задание Пользователь вводит число. Если произошла ошибка ввода, выведите пользователю сообщение о...

Некорректный парсинг XML файла JAVA
Добрый день, столкнулся с такой проблемой. При парсинге файла столкнулся с такой проблемой, если...

Ввод даты с консоли в БД PostgreSQL (JDBS). Конфликт java.util.Date и java.sql.Date
Народ. Добрый вечер. Создаю базу библиотеки (учебная), есть такая таблица private static void...

3
 Аватар для mocivan
95 / 95 / 50
Регистрация: 07.07.2015
Сообщений: 208
20.07.2015, 21:53
Можно сделать так, например:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.util.Scanner;
 
/**
 * Проверка числа в промежутке от -10 до 10
 */
public class ScannerSample{
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        int input;
        System.out.print("Введите число: ");
        while (s.hasNext()){
            input = Integer.valueOf(s.next());
            if (input > 10 || input < -10){
                System.out.print("Не то число! Введите заново: ");
            }else{
                System.out.printf("Число: %d\n", input);
                break;
            }
        }
    }
}
А можно даже эксепшн выплевывать...
1
0 / 0 / 1
Регистрация: 16.02.2014
Сообщений: 113
21.07.2015, 00:33  [ТС]
mocivan, спасибо БОЛЬШОЕ
А как сделать чтобы при вводе букв или числа float опять кидало в цикл?
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
21.07.2015, 02:50
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package easybudda.correctnumber;
 
import java.util.Scanner;
import java.util.InputMismatchException;
 
public class CorrectNumber {
    static final int MIN_BOUND = -10;
    static final int MAX_BOUND = 10;
    
    public static void main(String[] args) {
        int number = 0;
        boolean correct = false;
        Scanner scanner = new Scanner(System.in);
        
        while ( ! correct ) {
            System.out.print("Number: ");
            try {
                number = scanner.nextInt();
                if ( ( number < MIN_BOUND ) || ( number > MAX_BOUND ) )
                    throw new IllegalArgumentException();
                correct = true;
            }
            catch ( IllegalArgumentException iae ) {
                System.out.println("Out of bounds!");
            }
            catch ( InputMismatchException ime ) {
                System.out.println("Not a number!");
                scanner.skip(".*\n");
            }
        }
        
        System.out.println("Have got a number " + number);
    }
 
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.07.2015, 02:50
Помогаю со студенческими работами здесь

Ошибка reference to List is ambiguous; both interface java.util.List in package java.util and class java.awt.List in...
Почему кгда я загружаю пакеты awt, utill вместе в одной проге при обьявлении елемента List я ловлю...

Какую версию Java поддерживает .Net Java# И какую VS6.0 Java++ ?
Какую версию Java поддерживает .Net Java# И какую VS6.0 Java++ ? Ответье, плиз, новичку, по MSDN...

Exception in thread "main" java.lang.IllegalArgumentException: illegal component position at java.desktop/java.awt.Cont
import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import...

Некорректная работа Java (Eclipse)
Здравствуйте. Я недавно начал изучать Java и столкнулся с проблемой выполнения программы. После...

Java FX – Поток приостанавливается некорректно
Всем привет. Пытаюсь написать симулятор чата, который генерирует сообщения в отдельном потоке. Этот...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru