Конкатенация или сложение между String out = q + i ;? - PullRequest
0 голосов
/ 25 марта 2019

Я не новичок в рекурсии, но я немного заржавел, и я не понимаю, как мне следует интерпретировать строку String out = q + i ;, "i" преобразуется в строку или добавляется в q ?? Небольшой пример для нескольких рекурсий был бы полезен.

Почти решил эту проблему жадным способом, не хватило немного творчества, поэтому мне пришлось рекурсивно реализовать это с помощью друга, который раньше знал проблему и не мог ее объяснить ...

public static void main (аргументы String []) {

Сканер java = новый сканер (System.in);

    int n=java.nextInt(); // assume n is 2



    String q= "";

    int start=0;


       Numbers(start,q,n);}

общедоступные статические пустые числа (int start, String q, int n)

{

          if(n==0)
             System.out.print(q+" ");

// с этого момента

   for(int i=start;i<=9;i++)
         {


              String  out=q+i;   

              Numbers(i+1,out,n-1);

         }

}

В моем «пошаговом» подходе он показывает разные результаты относительно тех, что были предоставлены моей IDE, то есть я не вижу проблемы ясно.

01 02 03 04 05 - для первых «пяти» выходных данных, заданных компилятором, когда n равно 2.

...