Tähtikolmio

renni 01.07.04 01:13

Rekursioesimerkki

 Tekstiversio  Arvo: 1 (9 ääntä)  Äänestä: +  -
Erittäin yksinkertainen esimerkki joka kuvaa rekursion käyttöä.
Omistettu Orsonille.


public class Kolmio
{
    /**
     * Tulostaa tähtikolmion rekursiolla
     * @param x Kolmion koko
     */

    void kolmio (int x)
    {
        if (x > 0)
        {
            tulosta(x);
            kolmio(x - 1);
        }
    }

    /**
     * Tulostaa n kpl tähtiä peräkkäin, myös tässä rekursio
     * @param n Tähtien määrä
     */

    void tulosta (int n)
    {
        if ( n > 0 )
        {
            System.out.print("*");
            tulosta(n-1);
        }
        else // ei enempää tulostettavaa
        {
            System.out.println();
        }
    }

    /**
     * Pääohjelma
     * @param args Eka argumentti on kolmion koko
     */

    public static void main (String[] args)
    {
        Kolmio k = new Kolmio();
        int koko = Integer.parseInt(args[0]);
        k.kolmio(koko);
    }
}
 

renni 12:29 1.1.05 
Ois kiva tietää mitä tämän arvostelijat ovat kokeneet huonoksi? Vosiko kouluesimerkin tehdä kenties vielä tyylikkäämmin vai mistä noin negatiivinen palaute? Tokihan tällä ei ole hupiarvoa mutta mielestäni tuo rekursion toiminnan hyvin esiin.
renni 06:12 5.2.05 
Jos ei kommentteja ala kuulua niin poistan tämän. Ei helmiä sioille. #java.fi sentään arvioi tämän loistavaksi