2012-01-26 5 views
0

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

Вот код:

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

Рекурсивный как? Это домашнее задание? – cha0site

+0

Это ваша домашняя работа? – c69

+0

Итак, вы генерируете одно случайное число и печатаете все числа от вашего начального номера до 0? Это ты имел в виду? – Tudor

ответ

2

делает эту помощь?

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); 
     } 
    } 
} 

я не знаю, какой тип рекурсии вам нужен ...

+3

@ Adel: Вы пропустили вызов 'print'? – cha0site

+1

Это домашние задания, возможно лучше не давать прямое решение ... :) просто ИМХО –

0
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); 
     } 
    } 
} 
4

Рекурсия является важным понятием, и может быть сложно глубоко понять.

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

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

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

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

Смежные вопросы