Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175

    invalid method declaration, return type required

    Allora all'interno della stessa classe, ho un metodo: formWindowOpened che fa una serie di cose tra cui creare un array di stringhe di nome pippo. Il metodo setSint, invece, dovrebbe restituire l'argomento che gli passo (nell'esempio in formWindowOpened passo l'array pippo).
    Nella terza parte richiamo il metodo setSint, e vorrei che mi restituisse l'array pippo in modo da poterlo utilizzare anche nelle 2 istruzioni successive, ovvero:
    codice:
                     public int getSize() { return pippo.length; }
                     public Object getElementAt(int i) { return pippo[i]; }
    Il problema però è che nella terza parte della classe, nella riga in cui viene chiamato setSint() mi compare l'errore che ho scritto nell'oggetto, cioè: invalid method declaration, return type required

    Come posso risolvere?
    codice:
        String[] setSint(String[] pippo) {
            return pippo;
        }
    
    // ...
    
        private void formWindowOpened(java.awt.event.WindowEvent evt)
    {
            ResultSet rs=mdbc.inviaQuery("select * from ... ");
    
            try {
                rs.next();
                txtNome.setText(rs.getString("NOME"));
                String[] pippo = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
                setSint(pippo);
    
            } catch (SQLException ex) {
    
            }
    
            mdbc.close(rs);
    
        }
    
    // ...
    
    // ############ TERZA PARTE #########
                lstSintomiriscontrati.setModel(new javax.swing.AbstractListModel()
                     {
                     setSint();
                     public int getSize() { return pippo.length; }
                     public Object getElementAt(int i) { return pippo[i]; }
                     }
                );

  2. #2
    Utente di HTML.it L'avatar di nether
    Registrato dal
    Dec 2006
    Messaggi
    376
    non ho neanche letto tutto, ma che senso ha un metodo che ritorna lo stesso identico parametro che gli passi (ed e' l'unico parametro che accetta in ingresso), senza farci nulla?
    e' la stessa cosa di usare direttamente il parametro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175
    Come posso fare per passare direttamente il parametro(array)???
    L'array deve esseree in formWindowOpened().

  4. #4
    a prescindere dall'utilità di quella funzione ti da errore perché non esiste un metodo setSint senza alcun parametro, ma l'unico che hai dichiarato richiede un array di String come parametro, quindi se non glielo passi è un errore.

    L'array deve esseree in formWindowOpened().
    Ma l'array è gia in quella funzione!!!! lo hai dichiarato tu la...

    Se vuoi che venga memorizzato al di fuori di quella funzione allora o lo restituisci con un return, oppure crei un campo privato nella classe che contiene quel metodo. In ogni caso non hai bisogno di un setSint che non fa altro che ritornare il valore che gli passi.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175
    Mi faresti un esempio col campo private? Io ho provato a scrivere:
    private String[] pipoopo = { "a", "b", "c", "d", "e" };

    ma mi dice illegal start of expression.

  6. #6
    public class TuaClasse {
    private String pippo={"a","b","c","d"};


    public void tuoMetodo() {
    /*FAI QUELLO CHE VUOI E PUOI ACCEDERE A pippo */
    }

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