Рекурсивный генератор случайных чисел - PullRequest
0 голосов
/ 26 января 2012

Мне нужна помощь в моем коде. Мой код работает, но я получил указание сделать его рекурсивным при генерации случайного числа. Может кто-нибудь помочь мне, что добавить в мой код?

Вот код:

    import java.util.*;


    public class random{

        public static void main (String[]args){

            int number;
            Random rnd = new Random();

            number = rnd.nextInt(100);

                  while(number > 0){
                      number--;
                      System.out.println(number);

                  }
         }
     }

Ответы [ 3 ]

4 голосов
/ 26 января 2012

Рекурсия является важной концепцией, и ее сложно понять.

Я бы предложил вам закрыть эту вкладку браузера, взять книгу алгоритмов, карандаш и бумагу и начать "раскручивать" рекурсивные вызовы из примеров, которые вы найдете в Интернете, пока не поймете, где это начинается и (особенно) гдеостанавливается.Также посмотрите на рекуррентные отношения, если вы чувствуете себя формально.

Возьмите факторный или рекурсивный Фибоначчи, и подумайте об этом, напишите код, запачкайте руки.Вы получите несколько бесконечных циклов, но в конце концов получите это.

Мои два цента.

PS: пересмотрите свой стиль кода, соблюдайте правила языка.Для Java: http://www.oracle.com/technetwork/java/codeconv-138413.html

2 голосов
/ 26 января 2012

это помогает?

public class random {

    public static void main(String[] args) {

        Random rnd = new Random();

        int number = rnd.nextInt(100);
        print(number);

    }

    public static void print(int num) {
        if (num >= 0) {
            System.out.println(num);
            print(--num);
        }
    }
}

Я действительно не знаю, какой тип рекурсии вам нужен ...

0 голосов
/ 26 января 2012
import java.util.*;

public class random{

    public static void main (String[]args){
        int number;
        Random rnd = new Random();
        number = rnd.nextInt(100);
        nextRandom(number);
    }

    void nextRandom(int number) {
        if (number <= 0) {
            return;
        } else {
            --number;
            System.out.println(number);
            nextRandom(number);
        }
    }
}
...