Как я печатаю несколько строк вывода? И исправить мой рекурсивный метод?
моя цель написать этот код состоит в том, чтобы иметь 3 строки в качестве вывода с 3 рекурсивными методами.
первая строка 1,2,3,4,5,5,6,..,n,
вторая строка 1,4,9,...,n*n,
третья строка 2,4,6,8,10,...,n,
но я не знаю, где это неверно? и как отделить каждую строчку?
Что я уже пробовал:
public class Recursiv { private static int prt1234(long n) { if (n == 1) { return 1; } else { return prt1234(n-1); } } private static int prtSqr1234(long n) { if (n == 0) { return 0; } else { return (int) (prtSqr1234(n - 1) - 1 + (2 * n)); } } private static int prt2468(long n) { if (n % 2 == 0) { if (n <= 2) { return 2; } else { return prt2468(n - 2); } } else { n = n - 1; if (n <= 2) { return 2; } else { return prt2468(n - 2); } } } public static void main(String[] args) { Recursiv f = new Recursiv(); for(long i = 1; i < Long.parseLong(args[0]); i++) { System.out.print( f.prt1234(i)+ ","); } for(long j = 1; j < Long.parseLong(args[0]); j++) { System.out.printf( prtSqr1234(j)+ ","); } for(long k = 1; k < Long.parseLong(args[0]); k++) { System.out.print( f.prt2468(k)+ ","); } } }
Второе решение
public class Recursive { private static int prtSqr1234(long m) { return (int) (m == 0 ? 0 : prtSqr1234(m - 1) + m + m - 1); } public static void main(String[] args) { for (long j = 1; j <= Long.parseLong(args[0]); j++) { System.out.print(prtSqr1234(j) + ","); } } }
Afzaal Ahmad Zeeshan
А проблема с этим кодом есть? Для этого вам придется использовать 3 вызова функций, по одному в каждой строке.
Mohibur Rashid
почему вы добавили цикл for? Я вижу, что вы ничему не научились на моем примере. все, что вы пытаетесь сделать, это получить ответ от других людей. Этого не случится.
Member 13817762
Мне очень жаль , что в свои 65 лет я не так умен, как вы.
Mohibur Rashid
Оскорбительное или грубое поведение не принимается.