Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Allora già avevo fatto la prova con il metodo con String [],
facendo in questo modo i nomi delle persone vengono caricati correttamente. Oracodice:for(int i=0;i<conta;i++){ Nomeperson[i]=pers.getNome(); System.out.println("Nome persona"+Nomeperson[i]); }
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
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
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.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet