Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2011, 12:54   #1
turtles
Пользователь
 
Регистрация: 17.02.2011
Сообщений: 59
По умолчанию Вычисление факториала

Здравствуйте! Подскажите по коду что можно еще дописать или переделать?

программу, вычисляющая факториал
натурального числа n, которое пользователь введёт с клавиатуры.

Как еще можно убрать 1, если например я делаю ввод отрицательного числа там мне выдает "Вы ввели отрицательный факториал!", а над ним выдает 1?

Код:
public class Test {
    public static void main(String args[]) {
       int n;
        do {
            Scanner scan = new Scanner(System.in);
             System.out.print("Введите факториал натурально числа n : ");
              n = scan.nextInt();
               int result = 1;
                for (int i = 2; i <= n; i++)
                  result *= i;
                  System.out.println(result);
                if (n == 0 || n == 1)
                 System.out.println(result);
             if(n < 0)
             System.out.println("Вы ввели отрицательный факториал!");
        } while (n < 0);{System.out.println("Конец");}
    }
}
turtles вне форума Ответить с цитированием
Старый 22.09.2011, 13:38   #2
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

После ввода n сначала проверяйте его значение, а потом производите вычисления.

Код:
n = scan.nextInt();
  int result = 1; 
   if(n < 0)
             System.out.println("Вы ввели отрицательный факториал!"); 
 else  if (n == 0 || n == 1)
                 System.out.println(result);
     else
             {
                for (int i = 2; i <= n; i++)
                   result *= i;
 System.out.println(result);
}
Неприятности приходят и уходят, а жизнь продолжается!

Последний раз редактировалось Sweta; 22.09.2011 в 13:41.
Sweta вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ Нахождение факториала Pascaler Помощь студентам 1 14.12.2010 19:50
вычисление факториала (Pascal) DsDevis Помощь студентам 8 09.12.2010 18:56
вычисление факториала в С++ mephistophel Помощь студентам 4 10.03.2010 12:43
Си, вычисление факториала ManInBlack Помощь студентам 2 07.03.2009 00:50
Вычисление факториала числа PAVEL315 Общие вопросы Delphi 17 21.03.2007 07:32