Visualizzazione dei risultati da 1 a 8 su 8

Hybrid View

  1. #1
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Tecnicamente basta che il metodo abbia tipo di ritorno String[] e tu fai un return di un oggetto String[] popolato con i dati. Puoi farlo anche con un List<String>, naturalmente.

    P.S. questi sono concetti super-basilari ... che dovresti già conoscere
    Allora già avevo fatto la prova con il metodo con String [],

    codice:
    for(int i=0;i<conta;i++){
               
           Nomeperson[i]=pers.getNome();
             
    System.out.println("Nome persona"+Nomeperson[i]);
               
           }
    facendo in questo modo i nomi delle persone vengono caricati correttamente. Ora
    il problema e che facendo return Nomeperson mi ritorna a nessun nome, come mai?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Quote Originariamente inviata da signfra Visualizza il messaggio
    Ora il problema e che facendo return Nomeperson mi ritorna a nessun nome, come mai?
    Eh... dovresti far vedere la parte di codice relativa a questo passaggio:

    1) Il metodo completo di return
    2) L'invocazione del metodo
    3) L'uso del valore di ritorno

    Hai solo postato una parte minimale del codice, che non ci fa capire né se hai correttamente impostato l'istruzione return nel metodo, né il modo in cui invochi il metodo, né il modo in cui usi il risultato dell'invocazione...


    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
    Quote Originariamente inviata da LeleFT Visualizza il messaggio
    Eh... dovresti far vedere la parte di codice relativa a questo passaggio:

    1) Il metodo completo di return
    2) L'invocazione del metodo
    3) L'uso del valore di ritorno

    Hai solo postato una parte minimale del codice, che non ci fa capire né se hai correttamente impostato l'istruzione return nel metodo, né il modo in cui invochi il metodo, né il modo in cui usi il risultato dell'invocazione...


    Ciao.
    codice:
    public String [] Nome_Person(String Nometabella){
       int conta;
              
       try{
          //STEP 2: Register JDBC driver
          Class.forName("com.mysql.jdbc.Driver");
    
          //STEP 3: Open a connection
          System.out.println("Connecting to database...");
          conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/", "root","");
    
          //STEP 4: Execute a query
          System.out.println("Creating database...");
          stmt = conn.createStatement();
          
          String sql = "USE STUDENTS;";
                
          stmt.executeUpdate(sql);
    
          String queryfinal="SELECT* FROM ";
    
          String querytabella=queryfinal.concat(Nometabella).concat(";");
    
          System.out.println(""+querytabella);
    
          ResultSet  rs = stmt.executeQuery(querytabella);
    
          conta=this.query3(Nometabella);
    
          Nomeperson=new String[conta];
    
          ArrayList <String> list = new ArrayList <String> ();
            
          while (rs.next()) {
    
             Nome2=rs.getString("Nome");
             Cognome2=rs.getString("Cognome");
      
             pers=new Person(Nome2,Cognome2);
      
             pers.setNome(Nome2);
             pers.setCognome(Cognome2);
      
             Cognomeperson=new String[conta];
        
             for(int i=0;i<conta;i++){
              
                Nomeperson[i]=pers.getNome();
          
    
                System.out.println("Nome persona"+Nomeperson[i]);
             }    
        
          }
    
          //Create and set up the window.
          System.out.println("Database created successfully...");
       }catch(SQLException se){
          //Handle errors for JDBC
          se.printStackTrace();
       }catch(Exception e){
          //Handle errors for Class.forName
          e.printStackTrace();
       }finally{
          //finally block used to close resources
          try{
             if(stmt!=null)
                stmt.close();
          }catch(SQLException se2){
          }// nothing we can do
        
       }//end try
       System.out.println("Goodbye!");  
      
       System.out.println("Nome"+pers.getNome());
      
       return Nomeperson;
      
    }
    Ultima modifica di LeleFT; 29-04-2014 a 17:18 Motivo: Riscritto il codice in modo più leggibile

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da signfra Visualizza il messaggio
    il problema e che facendo return Nomeperson mi ritorna a nessun nome, come mai?
    Questo di seguito, pur abbozzato e ovviamente incompleto, è strutturalmente e logicamente corretto:

    codice:
    public String[] Nome_Person(String Nometabella) {
        //......
    
        int conta = //......
    
        String[] Nomeperson = new String[conta];
        int indice = 0;
    
        while (rs.next()) {
            //.......
    
            Person pers = new Person(.............);
    
            Nomeperson[indice] = pers.getNome();
            indice++;
        }
    
        //......
    
        return Nomeperson;
    }
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.