Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: stampa array

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    132

    stampa array

    ciao a tutti sono nuovo di java e volevo chiedervi una cosa..dovrei fare un prog che stampa gli elementi presenti nell'array.Il programma funziona ed è qui riportato

    class stampa {
    /**
    * @param args the command line arguments
    */
    public static void main(String[] args) {
    int []x={3,5,6,9};
    for(int i=0;i<x.length;i++){
    System.out.println("i valori sono " +x[i]);

    }
    }
    }
    Ora cosa voglio fare..voglio creare un metodo stampa dove mettere solo la aprte che farà stampare l'array, mentre nel main lasciare solo la dichiarazione dell array...solo che non so come fare a richiamare stampa su x[]..come faccio?grazie



    class stampa {
    /**
    * @param args the command line arguments
    */
    public static void main(String[] args) {
    int []x={3,5,6,9};


    }
    public static void stampa(int[]x){
    for(int i=0;i<x.length;i++){
    System.out.println("i valori sono " +x[i]); }
    }
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    mai sentito dire che puoi creare un metodo in cui passi come parametro proprio il vettore che hai creato nel main?
    ti dò la signature

    codice:
    public void stampa(int[] vec);
    questo cicla sul vettore e lo stampa a video

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    132
    scusa ma non è che è come ho fatto nel secondo esempio? io l'ho chiamato x[] al posto di vec[]...solo che non stampa nulla

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    e da dove lo chiami??
    suppongo tu abbia un main che lo chiama

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    5
    Allora è tutto giusto solo che manca la chiamata al metodo nel main, dove devi aggiungere stampa(x); in questo modo richiami stampa e gli passi il vettore x da te creato.

    In Java vengono eseguite tutte le istruzioni presenti nel main, tu dichiaravi solamente il vettore senza fare nient'altro.


  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    132
    scusate la mia domanda ma sto studiando solo da poco tempo java....

    come faccio a fare la chiamata nel main?
    Altra domanda...quello che adesso si trova nel main e quello che si chiama "costruttore" in Java?

    codice:
    class stampa {
    /**
    * @param args the command line arguments
    */
    public static void main(String[] args) {
    int []x={3,5,6,9};
    
    
    }
    public static void stampa(int[]x){
    for(int i=0;i<x.length;i++){
    System.out.println("i valori sono " +x[i]); }
    }
    }

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Originariamente inviato da ifts2004
    scusate la mia domanda ma sto studiando solo da poco tempo java....

    come faccio a fare la chiamata nel main?
    Studi da poco Java o la programmazione?
    Le chiamate a metodi/funzioni ci sono anche in altri linguaggi (tutti).

    per chiamare il metodo ti basta indicare il suo nome..e passare l'array.

    Altra domanda...quello che adesso si trova nel main e quello che si chiama "costruttore" in Java?
    Ehm... quello che si trova nel main..cosa?

    Un costruttore inizializza l'oggetto durante la sua creazione, ed ha lo stesso nome della classe (e può avere parametri, come un metodo).

    Prima di imparare i costruttori dovrai imparare la OOP, le variabili e i metodi. Procedendo a tentoni non capirai nulla, devi prenderti un libro e seguirlo come si deve

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    132
    scusa ma ho appena iniziato a programmare...che libro mi consigli???

    comunque intendevo nell'esempio di prima se il cotruttore era il comando che creava ed inizializzava l'array.

    Quindi per far si che il programma funzioni cosa devo fare???

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    132
    ho risolto...questo è il codice

    codice:
    class stampa {
    /**
    * @param args the command line arguments
    */
    public static void main(String[] args) {
    int []vec={3,5,6,9};
    stampa.stamp(vec);
    
    }
    public static void stamp(int[] vec){
    for(int i=0;i<vec.length;i++){
    System.out.println("i valori sono " +vec[i]); }
    }
    }
    DOMANDE
    1).ma allora quando devo chiamare un metodo metto nomeclasse.nomemetodo(variabile od oggetto su cui devo effettuare il metodo)?
    2)se metto (int[] vec) al posto di (vec) mi da errore..come mai???

  10. #10
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    Originariamente inviato da ifts2004
    ho risolto...questo è il codice

    codice:
    class stampa {
    /**
    * @param args the command line arguments
    */
    public static void main(String[] args) {
    int []vec={3,5,6,9};
    stampa.stamp(vec);
    
    }
    public static void stamp(int[] vec){
    for(int i=0;i<vec.length;i++){
    System.out.println("i valori sono " +vec[i]); }
    }
    }
    DOMANDE
    1).ma allora quando devo chiamare un metodo metto nomeclasse.nomemetodo(variabile od oggetto su cui devo effettuare il metodo)?
    2)se metto (int[] vec) al posto di (vec) mi da errore..come mai???
    1) No, la notazione NomeClasse.nomeMetodo serve per chiamare i metodi definiti come statici, i quali possono essere richiamati senza istanziare l'oggetto...per farti un esempio pracito
    codice:
    Class Classe{
    private int intero=5;
    public int static MetodoA(){return 1;}
    public int MetodoB(){return this.intero;}
    }
    
    Classe c = new Classe();
    int numeroClasse = c.MetodoB();
    int numeroStatico = Classe.MetodoA();
    è più chiaro?

    2) ti dà errore perchè quando richiami un metodo tu passi un paramentro, mentre, scrivendo int[] vec applichi la sintassi per la definizione del parametro del metodo...in altre parole, il tuo codice potrebbe anche essere questo
    codice:
    class stampa {
    public static void main(String[] args) {
    int[] nomeCasuale = {3,5,6,9};
    stampa.stamp(nomeCasuale);
    
    }
    public static void stamp(int[] vec){
    for(int i=0;i<vec.length;i++){
    System.out.println("i valori sono " +vec[i]); }
    }
    }
    il fatto che il vettore e il paramentro, nel tuo esempio, hanno lo stesso nome, è un caso e può, agli inizi, portarti a fare un po' di confusione tra il passaggio dell'oggetto e la definizione dello stesso

    Se hai altri dubbi non esitare a chiedere!

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

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.