Visualizzazione dei risultati da 1 a 4 su 4

Discussione: metodo con ritorno

  1. #1

    metodo con ritorno

    vorrei creare un array di oggetti con il numero di celle in base hai tokens presenti in un file.

    quindi ho pensato di fare cosi:
    codice:
     prova array[]; // qui dichiaro l'array
    poi con una lettura da file conto i tokens e li inserisco nella dichiarazione dell'array.
    esempio

    array=new prova[n];

    il problema e che nn riesco a scrivere il codice giusto per un metodo che ritorna un dato.

    codice:
    public static int setto()
     {
     try{
           ...........
           ...........
           ...........
    
          int a =tokens.countTokens();
          }
    
       catch(..........)
         {................}
    
    return a;
    
    
    
    
    
    }
    l'errore sta in return a.
    infatti il compilatore mi dice che non conosce "a".



    qualkuno sa aiutarmi a scrivere il codice giusto di un metodo con ritorno di un dato di tipo int??

    e poi una volta scritto il codice come scrivo la dichiarazione dell'array , in base al dato di tipo int???


    vi ringrazio anticipatamente
    saluti , hdcreator

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    44
    Il problema è la dichiarazione di a, deve essere fatta fori dal blocco try-catch.
    codice:
    public static int setto()
     {
    int a = -1;
     try{
           ...........
           ...........
           ...........
    
          a =tokens.countTokens();
          }
    
       catch(..........)
         {................}
    
    return a;
    }
    In questo caso però se verrà sollevata un'eccezione il metodo setto() ti restituità -1, devi tener conto di questo quando usi il metodo setto().

  3. #3
    Utente di HTML.it L'avatar di Reiuky
    Registrato dal
    Jul 2008
    Messaggi
    371
    Ad occhio il problema stà che int a è stato dichiarato dentro il try, e il compilatore si incazza perché a non viene vista fuori dal try

    meglio se fai del tipo

    codice:
    int a = 0; // meglio che la inizializzi, altrimenti il compilatore si incazza lo stesso perché non la vede inizializzata
    
    try{
    
    ....
    
    a = [quello che ti serve]
    
    }
    catch{
    ...}
    
    return a;
    Del resto questo è quello che faccio con tutti i ritorni: la prima riga dichiaro la variabile di uscita (di solito out) e la inizializzo, l'ultima fo il return out.

    è un buono standard, e migliora la chiarezza

  4. #4
    ok grz 1000.


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.