Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Collection

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    12

    Collection

    Piccolo problema.

    Tempo fa feci un esercizio basato sugli arrray…Avevo una classe chiamata “CanzoneItaliana” una “CanzoneStraniera” e un’altra “InnoNazionale” e tutte e tre le classi ereditavano dalla classe “Canzone” l’attributo “titolo”, grazie all’ereditarietà.

    Questo esercizio doveva far in modo che potessi aggiungere, ricercare o eliminare delle canzoni inserite col metodo costruttore. Allora mi sono creato altre 2 classi, una chiamata archivio e una star.

    Nella classe “Archivio” ho scritto il seguente codice:

    *****************************

    private Canzone[]archvio = new Canzone[4];

    public void inserisciCanzone(Canzone canzone){

    for(int i = 0; i < archivio.lenght; i++){

    if(jukebox[i]==null){
    jukebox[i] = canzone;
    return;

    }
    }

    *****************************


    Mentre nella classe “Inizio” ho scritto il seguente codice:

    mi sono creato un oggetto e poi ho chiamato il metodo inserisciCanzone;

    oggetto.inserisciCanzone(new CanzoneItaliana(“Alba Chiara”,”Vasco”,”Rossi”,3);
    oggetto.inserisciCanzone(new CanzoneStraniera(etc etc etc);

    ******************************

    l’esercizio funziona correttamente.

    Allora ho voluto fare lo stesso esercizio con le collection generic. >Ho lasciato le classi CanzoneItaliana,CanzoneStraniera;InnoNazionale,Can zone e nella classe Archivio ho scritto questo codice:

    Collection <Canzone>archivio = new LinkedList <Canzone>();

    public void inserisciCanzone(Canzone canzone){

    for(int i = 0; i < archivio.size; i++){

    archivio.add(canzone);

    }

    }

    Quando vado a stampare le canzoni System.out.println(archivio); mi esce un casino…o mi stampa tutto su una riga, oppure mi stampa piu’ volte la stessa canzone…come mai?

    Grazie in anticipo.

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: Collection

    Originariamente inviato da Xenoriss
    Collection <Canzone>archivio = new LinkedList <Canzone>();
    public void inserisciCanzone(Canzone canzone){
    for(int i = 0; i < archivio.size; i++){
    archivio.add(canzone);
    }
    }

    Quando vado a stampare le canzoni System.out.println(archivio); mi esce un casino…o mi stampa tutto su una riga, oppure mi stampa piu’ volte la stessa canzone…come mai?
    Forse perchè inserisci archivio.size() volte la stessa canzone? Hai guardato il codice?

    ps: usare il tag CODE?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    12

    ...

    no, non inserisco la stessa canzone perchè nella classe inizio quando chiamo il metodo inserisciCanzone scrivo così:

    oggetto.inserisciCanzone(new CanzoneItaliana("alba chiara");
    oggetto.inserisciCanzone(new CanzoneStraniera("L'emozione non ha voce");

    è così via...

  4. #4
    Codice PHP:
    public void inserisciCanzone(Canzone canzone){

    for(
    int i 0archivio.sizei++){

    archivio.add(canzone);

    }


    si ma nel metodo che hai postato inserisci "archivio.size" volte la canzone passata per argomento, togli il ciclo for!!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    12

    ...

    grazie ora è tutto ok:P...un ultima cosa anche se passo dalle collection al database (sto iniziando ora a studiare java)...per quanto riguarda il database, che mysql mi consigli di scaricare? e in piu', per testare poi una pagina che usufruisce della connessione al db cosa devo fare?

    per esempio in ASP; basta che installavo il pws o iis e installavo il mysql , digidando localhost/nomepagine.asp andava tutto a meraviglia...in java come devo fare?

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.