Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Problema funzione

Hybrid View

  1. #1

    Problema funzione

    Salve ragazzi sto uscendo pazzo ho fatto questa funzione:
    codice:
    public int calcolaTorri(){
            int counter1,counter2,counter3;
            counter1=counter2=counter3=1000000;
            counter1=primoAngolo();
            counter1+=controlloSoli();
            
            counter2=secondoAngolo();
            counter2+=controlloSoli();
            
            
            counter3=terzoAngolo();
            counter3+=controlloSoli();
            
            if(counter1<counter2 && counter1 <counter3)
                return counter1;
            
            if(counter2<counter1 && counter2< counter3)
            
                return counter2;
            
            if(counter3<counter1 && counter3<counter2)
            
                return counter3;
            
    
    
        }
    mi da il seguente problema mi dice che aspetta di ritornare un intero ma ci sono in tutti i 3 gli if un return int

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Solito noto problema:
    Il compilatore non può sapere a priori se una determinata condizione verrà soddisfatta, quindi non può sapere che almeno uno di quei tre if sarà vero... di conseguenza, non trovando un punto "certo" di uscita ti darà errore.

    E questo ti costringe a programmare bene: una funzione dovrebbe avere uno ed un solo punto di uscita, alla fine, con il risultato atteso.

    codice:
    int risultato = ...;
    
    if ( ... ) {
       risultato = ... ;
    }
    
    if ( ... ) {
       risultato = ...;
    }
    
    ...
    
    return risultato;

    PS: questo tipo di segnalazione dal compilatore me lo aspetto in Java... che linguaggio usi?


    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

  3. #3
    java, grazie per la risposta

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Sposto nella sezione Java.


    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 © 2025 vBulletin Solutions, Inc. All rights reserved.