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

    Un return che non restituisce

    Salve,
    non riesco a venire a capo di un problema poiché viene lanciata un'eccezione che non mi spiego.

    Sto scrivendo un programma per simulare un torneo di pallavolo, riesco a compilarlo, ma in fase di esecuzione riesco soltanto a inserire con un'istanza di Scanner il numero corrispondente alla squadra, mi appare la mia partita, e a quel punto si stampa un null e parte una
    Exception in thread "main" java.lang.NullPointerException

    Il percorso dell'eccezione dalla sua genesi al main() è il seguente:
    codice:
        public boolean giocaMatch() {
            boolean esitoMatch = true;
            
            // altro codice
            
            return esitoMatch;
        }
    codice:
        public boolean giocaQuarto() {
            return quarto.giocaMatch();
        }
    codice:
        public static void main(String args[]) {
            boolean esito1 = true, esito2 = true, esito3 = true;
            
            // altro codice
    
            esito1 = playoff.giocaQuarto();
    
            // altro codice
        }
    Ho inizializzato i boolean eppure ricevo un null e non so spiegarmelo.

    Cosa strana è che da prompt ho l'eccezione, mentre da IDE (IntelliJ), il programma non lancia nulla ma resta in esecuzione per un tempo indefinito. Se interrompo l'esecuzione in console appare
    Process finished with exit code 130
    Ovviamente quarto e playoff sono istanze delle classi contenenti i rispettivi metodi richiamati.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Purtroppo con il poco codice che hai riportato non si riesce a dedurre quale sia il problema.
    Hai sicuramente uno stack trace allegato alla eccezione. Guarda la riga dove si origina il NPE, metti un breakpoint lì e poi in debugging verifica cosa è null.
    Quasi sicuramente è l'accesso a metodo (/variabile) su un null o forse un metodo del framework che non accetta un null in argomento.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Il problema pare sia a monte del punto rilevato in esecuzione.
    Ho organizzato il programma in modo che dal main() venissero lanciati in sequenza i vari metodi e, in base al return, definire l'andamento del torneo per la squadra scelta. Forse così facendo si perdono le istanze quando il worker restituisce il controllo al caller (il costruttore a quattro argomenti è come se non ci fosse, e quindi giocaQuarto() è invocato su un'istanza oramai morta), quindi stranamente devo ragionare in modo più sequenziale con caller/worker a cascata e meno "a oggetti" centralizzati sul main() come avevo abbozzato.

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.