Προς το περιεχόμενο

Χρήση αναδρομής σε μέθοδο της JAVA


free4you

Προτεινόμενες αναρτήσεις

 

     public static void trigono(int m, int n)

            

{     

for (int i = 0; i < m; i++){

System.out.print("*");

System.out.print("\n");

}

 

if (m == n-1)

{

    for (int i = 0; i < n; i++)

    {

System.out.print("*");

System.out.print("\n");

}

}

else

{

trigono(m+1, n);

}

 for (int i = 0; i < n; i++)

    {

System.out.print("*");

System.out.print("\n");

 

}

}

}

 

Αν εννοείς αυτό που γράφω παραπάνω, μου βγάζει αστεράκια το ένα κάτω από το άλλο!!!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Έχεις δίκιο, ευχαριστώ... Αυτό που μου κάνει εντύπωση είναι ότι χωρίς το τελευταίο print (που είναι έξω από το if) το πρόγραμμα φτιάχνει αυτό [για (4,8)]:

 

****
*****
******
*******
********

 

άρα μαζί με το τελευταίο print θα έπρεπε να φτιάχνει αυτό:

 

****
*****
******
*******
********
*******

να φτάνει δηλαδή στο m=n-1  να τυπώνει n να τρέχει και το τελευταίο print (όταν βγαίνει από την if τελευταία φορά το m είναι 7) και μετά να κλείνει!!!

 

Πως ανατροφοδοτείται και εμφανίζει και τα υπόλοιπα???

Επεξ/σία από free4you
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

με αναδρομή

    public static  void printAsterisks(int no)
    {
        for(int i=0;i<no;i++) System.out.print("*");
        System.out.print("\n");
            
    }
    public static void printTrigono(int start, int end)
    {   
        printAsterisks(start);
        if (start==end) return;
        printTrigono(start+1,end);
        printAsterisks(start);
    }

    public static void main(String[] args) {
       
        printTrigono(4,15);
    }


result 

****
*****
******
*******
********
*********
**********
***********
************
*************
**************
***************
**************
*************
************
***********
**********
*********
********
*******
******
*****
****
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Έχεις δίκιο, ευχαριστώ... Αυτό που μου κάνει εντύπωση είναι ότι χωρίς το τελευταίο print (που είναι έξω από το if) το πρόγραμμα φτιάχνει αυτό [για (4,8)]:

 

άρα μαζί με το τελευταίο print θα έπρεπε να φτιάχνει αυτό:

να φτάνει δηλαδή στο m=n-1  να τυπώνει n να τρέχει και το τελευταίο print (όταν βγαίνει από την if τελευταία φορά το m είναι 7) και μετά να κλείνει!!!

 

Πως ανατροφοδοτείται και εμφανίζει και τα υπόλοιπα???

Το τελευταιο print (όπως και το πρώτο) καλείται οσες φορές καλείται η trigono.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...