Lekcja 12. Rekurencja

package pl.am.podstawy.lekcja12;

public class Rekurencja {

    public static void metoda1() {
        System.out.println("metoda 1");
        metoda2();
        System.out.println("koniec");
    }

    public static void metoda2() {
        System.out.println("metoda 2");
    }

    public static void rekurencja() {
        rekurencja();
    }

    public static void odlicz(int i) {
        if (i>=1) {
            System.out.println(i);
            i--;
            odlicz(i);
        }

        System.out.println("Wyjście z metody dla i = " + i);
    }

    public static void odlicz2(int i) {
        if (i<1) return;

        System.out.println(i);
        odlicz2(--i);

        System.out.println("Wyjście z metody dla i = " + i);
    }

    public static void main(String[] args) {
        //metoda1();
        //rekurencja();

        for (int i=5; i>=1; i--) {
            System.out.println(i);
        }

        System.out.println("*********");
        odlicz2(5);
    }
}
package pl.am.podstawy.lekcja12;

public class Silnia {
    public static long silnia(long n) {
        if (n==0) return 1;
        return n*silnia(n-1);
    }

    public static void main(String[] args) {
        System.out.println(silnia(20));
    }
}

2 komentarze do “Lekcja 12. Rekurencja

  • 17 września 2020 o 00:37
    Permalink

    Kiedy kurs z języka Rust? Java jest dla mnie zbyt rozwlekła, nie mogę się połapać z całą tą obiektowością. Nie wiem czemu muszę tworzyć getery i shetery czy te słowo this w kilku klasach, aby wypisać jeden string. Rust jest spójny i czytelny. Nim, Crystal, Odin, Zig, Idris takie języki bardziej lubię. Można w nich pisać szybki backend podobny do Golang i zjadają mało pamięci w porównaniu z jvm.

    Odpowiedz
    • 2 października 2020 o 20:54
      Permalink

      Nie przewiduje powstania kursu z Rust. Jestem programistą Java i tego języka nauczam 😉

      Odpowiedz

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *