0 / 0 / 0
Регистрация: 14.12.2015
Сообщений: 9
1

Проверка

08.03.2016, 19:56. Показов 1037. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Только начал изучать Java, никак не разберусь, как работает поток ввода. Мне нужно вводить только числа. Я так понимаю, что моя проверка не работает, потому что повторно с клавиатуры ничего не читается, а используются старые данные.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 public static double check(){
        Scanner sc = new Scanner(System.in);
        double i = 2;
        int err = 0;
        System.out.print("Введите число:");
        do{
            if (sc.hasNextDouble()) {
                i = sc.nextDouble(); 
                err=1;
            } else {
                System.out.println("Вы ввели не число");
                i = sc.nextDouble();
            }
        } while(err==0);
        return i;
    }
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.03.2016, 19:56
Ответы с готовыми решениями:

Проверка кода и советы по его улучшению. Генерация случайных чисел и проверка на уникальность
Привет народ! Занимаюсь изучением Java, захотелось реализовать выборку случайных чисел для лотереи....

Проверка
Уважаемые, подскажите пожалуйста, как сделать проверку на ввод чисел и на ввод букв?

Проверка пароля
Привет! Возник вопрос. Почему equals возвращает false? Console console = System.console(); ...

Проверка на аргументы
Я не могу добавить третий аргумент, с помощью которого моя программа читает любую кодировку (но по...

6
1 / 1 / 1
Регистрация: 03.03.2016
Сообщений: 13
08.03.2016, 21:03 2
Например, вот так :

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class CheckNumber
{
    public static void main(String[] args) 
    {
        for (int i = 1; ; i++ )
        {
            System.out.print("Введите число: ");
            if(isNextNumber())
                continue;
            break;
        }
        System.out.print("Вы ввели не число");
    }
    
    public static boolean isNextNumber()
    {
        Scanner sc = new Scanner(System.in);
        if (sc.hasNextDouble()) 
                return true;
        return false;
    }
}
0
0 / 0 / 0
Регистрация: 14.12.2015
Сообщений: 9
08.03.2016, 23:06  [ТС] 3
Это не то) Да и еще будет работать только до первого false. Мне нужно считывать значение, пока не получу число, а потом уже его вернуть в main(что-то подобное я пытался сделать в коде выше).
0
323 / 310 / 206
Регистрация: 14.09.2015
Сообщений: 827
08.03.2016, 23:40 4
Лучший ответ Сообщение было отмечено Otori86 как решение

Решение

Цитата Сообщение от Otori86 Посмотреть сообщение
пока не получу число
Java
1
2
3
4
5
6
7
8
9
10
    public static void main(String[] args) {
        while (true) {
            try {
                int digit = new Scanner(System.in).nextInt();
                break;
            } catch (InputMismatchException e) {
                System.out.println("Это не число, повторите ввод");
            }
        }
    }
1
1 / 1 / 1
Регистрация: 03.03.2016
Сообщений: 13
08.03.2016, 23:53 5
Цитата Сообщение от Otori86 Посмотреть сообщение
Мне нужно вводить только числа
Цитата Сообщение от Otori86 Посмотреть сообщение
Мне нужно считывать значение, пока не получу число
Стоит ясно выражаться сразу при создании темы.
0
0 / 0 / 0
Регистрация: 14.12.2015
Сообщений: 9
08.03.2016, 23:56  [ТС] 6
Цитата Сообщение от HOBATOP Посмотреть сообщение
catch (InputMismatchException e)
Спасибо, все работает) Буду рад, если прокомментируете эту строчку
0
323 / 310 / 206
Регистрация: 14.09.2015
Сообщений: 827
09.03.2016, 00:24 7
Otori86, стандартый аппарат Java для обработки исключений (try-catch) перехватывает возникающие в программе различные события, способные привести к аварийному прекращению работы. Здесь мы ожидаем исключение InputMismatchException - несоответствие ввода ожидаемому формату. Если обработчик убрать, то при попытке ввести строку программа завершится аварийно.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.03.2016, 00:24
Помогаю со студенческими работами здесь

Проверка условий
Не пойму к чему тут != 0 ? Объясните пожалуйста не как не дойдет. class Condition { public...

Проверка пароля
Добрый день! Мне нужно на языке java написать алгоритм проверки пароля, который проверяться будет...

проверка вхождения
package pract1; import java.io.*; public class Hello { public static void main(String...

Java, проверка
Количество символов = позиции первой буквы в алфавите (проверить, совпадает ли количество букв в...

Проверка не работает
вот код: findViewById(R.id.button).setOnTouchListener(new View.OnTouchListener() { ...

Проверка на простоту
подскажите пожалуйста как это сделать? Проверьте, является ли число простым. Входные данные...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru