Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Java > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 08.07.2019, 21:59   #1
Dmitry(m)
Новичок
 
Регистрация: 08.07.2019
Сообщений: 2
Репутация: 10
По умолчанию Попросите пользователя ввести положительное целое число через JOptionPane

Я новичек в java и вообще в программировании , пытаюсь решить задачку " Попросите пользователя ввести положительное целое число через JOptionPane.

Обработайте некорректные данные (ничего не ввёл, отрицательное число, 0, не целое число), выведя соответствующие уведомления об ошибке.

Вычислите сумму всех чисел от 1 до числа, введённого пользователем, используя цикл for.

Выведите результат пользователю через JOptionPane. "

Это мое решение , без цикла работает все замечательно , как приступаю к той части где надо использовать цикл код работает не так как надо. Предупреждения выдает но цикл все равно срабатывает
Код:
public static void main(String[] args) {
        
            String df ;
            int sum = 0 ;
         
        df = JOptionPane.showInputDialog(null,"введите положительное целое  число ",JOptionPane.QUESTION_MESSAGE);
            if(df != null && !df.equals("")) {
            double a =  Double.parseDouble(df) ;
         
            if(a < 0) JOptionPane.showInputDialog(null,"вы ввели отрицательное число",JOptionPane.QUESTION_MESSAGE);
            if(a == 0) JOptionPane.showInputDialog(null,"вы ввели ноль",JOptionPane.QUESTION_MESSAGE);
            if((int)a != a) JOptionPane.showInputDialog(null,"вы ввели не целое число число " ,JOptionPane.QUESTION_MESSAGE);
                    for(int i = 0; i <= a; i++) {
                          sum += i;
            } JOptionPane.showInputDialog(null,"сумма чисел от  1 до  " + df + "  = " + sum,JOptionPane.QUESTION_MESSAGE); 
                         } else  JOptionPane.showInputDialog(null,"вы не ввели число",JOptionPane.QUESTION_MESSAGE);
            
              }  
    
       }

Последний раз редактировалось Аватар; 09.07.2019 в 09:21.
Dmitry(m) вне форума   Ответить с цитированием
Старый 08.07.2019, 23:27   #2
Bugrimov
C/C++, Java
Профессионал
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Адрес: Москва
Сообщений: 1,645
Репутация: 703

skype: bugrimovjava
По умолчанию

Выделите пожалуйста код в тэги. Если бы я решал задачу, я бы попытался вынести логику по выполнению задачи в отдельный класс (со свойствами и методами). А затем уже подключал UI.
__________________
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума   Ответить с цитированием
Старый 10.07.2019, 10:11   #3
Dmitry(m)
Новичок
 
Регистрация: 08.07.2019
Сообщений: 2
Репутация: 10
По умолчанию

это понятно , но задача должна быть решена примитивным способом.
Dmitry(m) вне форума   Ответить с цитированием
Старый 10.07.2019, 10:21   #4
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 25,613
Репутация: 5617
По умолчанию

Цитата:
Сообщение от Dmitry(m) Посмотреть сообщение
но задача должна быть решена примитивным способом.
так используйте else https://www.w3schools.com/java/java_conditions.asp

примерно так:
Код:
  if(a < 0) { JOptionPane.showInputDialog(null,"вы ввели отрицательное число",JOptionPane.QUESTION_MESSAGE); }
  else {
      if(a == 0) { JOptionPane.showInputDialog(null,"вы ввели ноль",JOptionPane.QUESTION_MESSAGE); }
      else{ 
         if((int)a != a) { JOptionPane.showInputDialog(null,"вы ввели не целое число число " ,JOptionPane.QUESTION_MESSAGE); }
         else {
               sum=0;	
               for(int i = 1; i <= a; i++) {
                          sum += i;
               } 
               JOptionPane.showInputDialog(null,"сумма чисел от  1 до  " + df + "  = " + sum,JOptionPane.QUESTION_MESSAGE); 
              }  
      }
  }
Serge_Bliznykov вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пользователь вводит целое положительное число n. kolin2 Общие вопросы C/C++ 2 11.10.2015 18:50
Дано целое положительное число n Найти его простые делители ProgrammiST-_- Паскаль 2 02.01.2015 13:28
Ввести число. Если оно положительное, найти его квадратный корень. Если отрицательное - возвести в квадратВвести число. Если оно п FYNZIK Паскаль 1 18.02.2014 16:29
Дан вещественный вектор X (x1, x2, …, xN), где N – целое положительное число... testtest01 Паскаль 0 08.06.2012 19:43
Перевести целое положительное десятичное число в шестнадцатеричное счисление Alfis Паскаль 3 28.12.2008 21:40


11:07.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru