На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Следующие правила действуют в данном разделе в дополнение к общим Правилам Форума
1. Здесь обсуждается Java, а не JavaScript! Огромная просьба, по вопросам, связанным с JavaScript, SSI и им подобным обращаться в раздел WWW Masters или, на крайний случай, в Многошум.
2. В случае, если у вас возникают сомнения, в каком разделе следует задать свой вопрос, помещайте его в корневую ветку форума Java. В случае необходимости, он будет перемещен модераторами (с сохранением ссылки в корневом разделе).

3. Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.
4. Не рекомендуется создавать несколько несвязанных вопросов в одной теме. Пожалуйста, создавайте по одной теме на вопрос.
Модераторы: dark_barker, wind
  
> Возведение в степень через цикл for
    Здравствуйте. Задача- Написать программу - возведение числа n в m-ую степень. Входные данные поступают с клавиатуры. Результат выводится на экран. Предусмотреть обработку ошибок.
    ExpandedWrap disabled
      import java.util.*;
      public class fg {
          public static void main(String[] args) {
              Scanner in=new Scanner (System.in);
              int r,n,m;
              n=in.nextInt();
              m=in.nextInt();
              if (m<0) {System.out.println("Не вводите отрицательные числа!");}
              else
              {for (r=?;r=?;?) //for (инициализация;условие;итератор)
              {????} //операторы
              System.out.println("Результат "+r);
              }}}

    Сама форма for известна только вот что именно в какой части писать? (после for)
    Напишите пожалуйста сам блок цикла.Не понимаю что за что лучше принимать.
      ExpandedWrap disabled
        for (int i = 0; i < n; i++){
        ...
        }

      , где n - показатель степени, а i - количество итераций.

      r, m, n - надо перевести в тип double, дабы корректно работать с отрицательным показателем степени.
      Для подсчета степени используйте статический метод:
      ExpandedWrap disabled
        r = Math.pow(m, n);

      , где n - показатель степени, m - число возводимое в степень

      При использовании Math.pow никаких циклов for использовать не надо.
      Сообщение отредактировано: Alex_ru -
        ExpandedWrap disabled
          import java.util.*;
          public class fg {
              public static void main(String[] args) {
                  Scanner in=new Scanner (System.in);
                  int r,n,m;
                  n=in.nextInt();
                  m=in.nextInt();
                  if (m<0) {System.out.println("Не вводите отрицательные числа!");}
                  else
                  {
                      int r=1;
                      for (int i=0; i<m; ++i) //for (инициализация;условие;итератор)
                      {r = r*n} //операторы
                      System.out.println("Результат "+r);
                  }
              }
          }


        Добавлено
        Цитата Alex_ru @
        Для подсчета степени используйте статический метод:
        Math.pow(m, n);

        Это, конечно, верно -- когда потренируетесь.
          ExpandedWrap disabled
            import java.util.*;
            public class fg {
                public static void main(String[] args) {
                    Scanner in = new Scanner (System.in);
                    double r,n,m;
                    n = in.nextDouble(); //если есть такой метод :)
                    m = in.nextDouble(); //если есть такой метод :)
                    r = Math.pow(m, n);
                    System.out.println("Результат " + r);
                }
            }
            Цитата Alex_ru @
            ExpandedWrap disabled
              import java.util.*;
              public class fg {
                  public static void main(String[] args) {
                      Scanner in = new Scanner (System.in);
                      double r,n,m;
                      n = in.nextDouble(); //если есть такой метод :)
                      m = in.nextDouble(); //если есть такой метод :)
                      r = Math.pow(m, n);
                      System.out.println("Результат " + r);
                  }
              }

            Да я сам бы так и сделал. Но сказали именно через for ? while do или do while делать
              Всем большое спасибо
              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0.0827 ]   [ 15 queries used ]   [ Generated: 27.07.26, 19:56 GMT ]