Passaggio dati a un metodo con arg String[]

di il
2 risposte

Passaggio dati a un metodo con arg String[]

Ciao a tutti sono Enrico ,
sono nuovo in questo gruppo e ho iniziato da poco a cimentarmi con java

Vi chiedere gentilmente se mi potreste aiutare con questo problema che magari per molti e una sciocchezza
e anche in futuro se posso chiedervi un supporto vi sarei molto molto grato.....

Ho definito una classe Corso come vedere di seguito (lo sintetizzata)

public class Corso {

// INIZIALIZZAZIONE ATTRIBUTI
private String docente = null;
private String[] allievi = null;

// DEFINIZIONE METODI GET E SET sui vari attributi
public String getDocente() {
return docente;
}
public void setAllievi(String[] allievi ) {
this.allievi = allievi;
}
public void setDocente(String docente) {
this.docente = docente;
}

public String[] getAllievi() {
return allievi;
}
}

la classe chiamante UsoCorso

public class UsoCorso {

public static void main(String[] args) {
// TODO Auto-generated method stub
Corso oggetto = new Corso();
oggetto.setDocente("Mario Rossi");
String s = oggetto.getDocente();

System.out.println("il valore della stringa s :" + s);
oggetto.setAllievi( "Chiara Bianco");
}
}

Il mio problema e, non riesco a capire come risolverlo , quando chiamo la istanza.metodo oggetto.setAllievi come passare l'argomento "String[]"

con il metodo setDocente semplicemente faccio "Mario Rossi" e passo come argomento una variabile di tipo stringa infatti la firma
lho dichiarata come "public void setDocente(String docente) "

L'altro metodo la firma e' " public void setAllievi(String[] allievi )" ma nella classe UsoCorso quando la richiamo per passare i dati sbaglio.....

Grazie Mille ancora per il supporto
Enrico

2 Risposte

  • Re: Passaggio dati a un metodo con arg String[]

    Henry75 ha scritto:


    Il mio problema e, non riesco a capire come risolverlo , quando chiamo la istanza.metodo oggetto.setAllievi come passare l'argomento "String[]"
    Per passare un array ci sono diversi modi, a seconda se vuoi passare i dati "al volo" oppure li hai in una variabile.
    String[] arrAllievi = { "Mario", "Giovanni" };
    unCorso.setAllievi(arrAllievi);
    oppure "al volo":
    unCorso.setAllievi(new String[] { "Mario", "Giovanni" });
    Ma esiste ancora un'altra possibilità. Se il metodo in Corso lo dichiari così:
    public void setAllievi(String... allievi)
    diventa un metodo varargs (Java 5+) e può ricevere un numero variabile di argomenti. Il metodo tecnicamente riceve comunque un array.

    E puoi fare più semplicemente:
    unCorso.setAllievi("Mario", "Giovanni");
  • Re: Passaggio dati a un metodo con arg String[]

    Ciao Andrea,

    grazie mille sei stato gentilissimo e tutto chiaro , mi ha dato delle ottime soluzioni

    ho provato tutte e tre le soluzione appunto che mi hai dato cosi ho fatto un po di piu di esperienza

    Poi, ho aggiunto il metodo getallievi nella classe Corso
    cosi dopo il set ho richamato il mettodo getallievi per recuperare il contenuto delle stringhe appena popolate e
    con un ciclo for ho stampato il contenuto dell'array..

    ancora Grazie Mille
    Enrico
Devi accedere o registrarti per scrivere nel forum
2 risposte