Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [java] non capisco il ritorno...

    codice:
    class Esercizio{
       public static boolean M(int i){
         boolean b = true;
         if(i==0) return b;
         else return !M(i-1);
       }
    
       public static void main(String args[]){
         System.out.print(M(4));
       }
    }
    Non capisco perchè mi ritorna true anzichè false...

    Cioè esegue la funzione ricorsivamente finchè i=0 e in quel caso ritorna true pero' col !M non dovrebbe ritornare false??
    [ SimplyMepis 8 ]Copyleft
    www.mepisitalia.org IL SITO ITALIANO UFFICIALE DI MEPIS
    www.salentomovida.it LA MOVIDA DEL SALENTO HA UN NUOVO PUNTO D'INCONTRO SUL WEB
    [ SUD SOUND SYSTEM MINA FUECU INTRA ALLU SALENTU ]

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    No. E' corretto!
    Basta fare il trace:
    M(0) --> True
    M(1) --> Inverte M(0) --> False
    M(2) --> Inverte M(1) --> True
    M(3) --> Inverte M(2) --> False
    M(4) --> Inverte M(3) --> True


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.