Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 22.06.2015
Сообщений: 36

Как вывести ошибку при вводе дробного числа

30.10.2018, 15:50. Показов 4195. Ответов 7

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Делал небольшую программку на java (совсем еще бегиннер), весь код рабочий, все как надо, кроме одного. При вводе пользователем дробного числа, нужно выводить сообщение с ошибкой (как к примеру при вводе 0 или отрицательного числа).

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

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 Variables {
    public static void main(String[] args) {        
        String in;
        in = JOptionPane.showInputDialog(null, "Введите положительное целое число", JOptionPane.QUESTION_MESSAGE);
        if (in != null && !in.equals("")) {
            int n = Integer.parseInt(in);
            if (n > 0) {
               int summa = 0;
               for (int i = 0; i <= n; i += 1){
                   summa += i;
               }
               JOptionPane.showMessageDialog(null, "Сумма всех чисел от 1 до " + n + " = " + summa);
            }
            else if (n == 0) {
                JOptionPane.showMessageDialog(null, "Вы ввели 0");
            }
            else {
                JOptionPane.showMessageDialog(null, "Некорректные данные");
            }
        }
   }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.10.2018, 15:50
Ответы с готовыми решениями:

Ошибка при вводе дробного числа.
Подскажите, пожалуйста, как при вводе числа через scanf выводить ошибку при вводе дроби либо символа. Сделать нужно именно через printf /...

Ошибка при вводе дробного числа
Подскажите пожалуйста , почему при вводе дробного числа (11,5) в edit1 происходит ошибка, если ввести обычное число, тогда все нормально. ...

При вводе дробного числа происходит бесконечный ввод
При вводе дробного числа происходит бесконечный ввод, а при вводе целого все ок. #include &lt;iostream&gt; using namespace...

7
1 / 1 / 1
Регистрация: 01.05.2013
Сообщений: 87
30.10.2018, 16:23
Это может быть не совсем правильно, но можно сделать так

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
import javax.swing.*;
 
public class Variables {
    public static void main(String[] args) {
        String in;
        in = JOptionPane.showInputDialog(null, "Введите положительное целое число", JOptionPane.QUESTION_MESSAGE);
        if (in != null && !in.equals("")) {
            double n = Double.parseDouble(in);
            if (n > 0) {
                int summa = 0;
                for (int i = 0; i <= n; i += 1){
                    summa += i;
                }
                if (n%n != 1 ) {
                    JOptionPane.showMessageDialog(null, "Некорректные данные");
                    return;
                }
                JOptionPane.showMessageDialog(null, "Сумма всех чисел от 1 до " + n + " = " + summa);
            }
             if (n == 0) {
                JOptionPane.showMessageDialog(null, "Вы ввели 0");
            }
        }
    }
}
0
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
30.10.2018, 16:31
Cestuh, а почему просят ввести целое число, а парсят дробное?

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
        try {
            double n = Double.parseDouble(in);
            if (n > 0) {
                int summa = 0;
                for (int i = 0; i <= n; i += 1){
                    summa += i;
                } 
                if (n%n != 1 ) {   //неожиданно, но остаток от деления n на n ВСЕГДА 0. И 0 != 1 всегда истина
                    JOptionPane.showMessageDialog(null, "Некорректные данные");
                    return;
                }
                JOptionPane.showMessageDialog(null, "Сумма всех чисел от 1 до " + n + " = " + summa);
            }
             if (n == 0) {
                JOptionPane.showMessageDialog(null, "Вы ввели 0");
            }
            else if (n%n != 1 ) {
                JOptionPane.showMessageDialog(null, "Некорректные данные");
            }
        } catch (NumberFormatException e) {
            JOptionPane.showMessageDialog(null, "Неверный формат");
        }
0
0 / 0 / 0
Регистрация: 22.06.2015
Сообщений: 36
30.10.2018, 16:42  [ТС]
Не, тут вообще при вводе любого число выводиться сообщение о некорректных данных :-\

Добавлено через 1 минуту
Цитата Сообщение от JIeIIIa Посмотреть сообщение
Cestuh, а почему просят ввести целое число, а парсят дробное?
Взяли не мой код, а код с первого ответа.
0
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
30.10.2018, 16:44
Cestuh, добавьте try-catch в свой код. В чем проблема?
0
0 / 0 / 0
Регистрация: 22.06.2015
Сообщений: 36
30.10.2018, 16:48  [ТС]
Еще не дошел до этой темы, предупредил ведь что совсем еще бегиннер
0
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
30.10.2018, 16:51
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
       try {
            int n = Integer.parseInt(in);
            if (n > 0) {
               int summa = 0;
               for (int i = 0; i <= n; i += 1){
                   summa += i;
               }
               JOptionPane.showMessageDialog(null, "Сумма всех чисел от 1 до " + n + " = " + summa);
            }
            else if (n == 0) {
                JOptionPane.showMessageDialog(null, "Вы ввели 0");
            }
            else {
                JOptionPane.showMessageDialog(null, "Некорректные данные");
            }
        } catch (NumberFormatException e) {
            JOptionPane.showMessageDialog(null, "Неверный формат");
        }
Cestuh, что такое аналогия тоже не ясно?( Код выше чем-то существенно отличается от кода ранее?
0
0 / 0 / 0
Регистрация: 22.06.2015
Сообщений: 36
30.10.2018, 16:58  [ТС]
Нет, но все-таки тема еще не понятна, пока не дойду до нее, даже толку нет углубляться, а так спасибо за решение.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.10.2018, 16:58
Помогаю со студенческими работами здесь

Switch: при вводе дробного числа программа выдает неправильные значения
При вводе не целого числа, например 0.5 программа выдает неправильные значение del Подскажите, что не правильно? switch (choice) { ...

Вывести ошибку при неверном вводе
Всем привет! Задача: Вывести логин и пароль для сайта введенного пользователем. Если сайта нет в БД, то вывести ошибку. ...

Не получается вывести ошибку при некорректном вводе данных
Есть проблемка, матлаб строит мне график с точкой, но точка находиться за границей графика, нужно сделать так, чтобы если точка выходит за...

При вводе в textbox числа с плавающей запятой выбивает ошибку
когда ввожу в textbox(&quot;расход&quot;или &quot;доллар&quot;) число с плав.запятой выбивает ошибку. Помогите плз, зараннее спс!) private void...

При вводе натурального числа вывести сумму цифр этого числа
при вводе натурального числа, нужно вывести сумму чисел этого числа


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru