Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    classe giornali con implementazione comparable

    ragazzi ho alcuni problemi con questa nuova classe Giornali che possiede 3 attributi, titolo, numero pagine e prezzo.... e dovrei creare un array di oggetti Giornali, da ordinare secondo il prezzo con l'ordinamento a bolle....non riesco a strutturare l'ordinamento e il compareTo..

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: classe giornali con implementazione comparable

    Originariamente inviato da Leon90tps
    non riesco a strutturare l'ordinamento e il compareTo..
    Quale è il dubbio o problema esattamente? Parli di ordinamento a bolle, quindi il classico "bubblesort", giusto?
    Tieni presente, ma sicuramente l'hai già capito, che una cosa è l'algoritmo di ordinamento (bubblesort, quicksort, mergesort, ecc....) che può anche essere implementato per sfruttare Comparable/Comparator e un'altra cosa è la implementazione vera e propria di Comparable/Comparator. Sono i due "lati" dell'ordinamento.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    il dubbio è come inserire il codice dell bubblesort(esatto è proprio quello) all interno del codice sorgente.... e poi il metodo compareto, visto ke sta volta ci sono tre attributi, anke se deve essere ordinato per il prezzo... poi dice un altra cosa l'esercizio, cioè che quando un utente inserisce un prezzo base e un prezzo limite(ese. 1,50 - 2,00) deve stampare tutti i giornali compresi in quel prezzo.....! bisogna che ti dia altre informazioni?

  4. #4
    Posta il testo completo dell'esercizio. Anche se è praticamente identico a quello in cui andbin ti ha aiutato con eccezione per il fatto che invece di usare mergesort userai bubblesort ed il fatto della stampa...
    Administrator of NAMDesign.Net

  5. #5
    non lho completato ancora....comunque questa è la prima parte.....


    public class Giornali implements Comparable<Giornali>
    {
    private String titolo;
    private int numpag;
    private double prezzo;
    public Giornali (Giornali[] agiornali)
    {
    giornali = agiornali;
    }
    public String getTitolo()
    {
    return titolo;
    }
    public int getNumpag()
    {
    return numpag;
    }
    public double getPrezzo()
    {
    return prezzo;
    }
    public String toString()
    {
    return titolo + "," + numpag + "," + prezzo;
    }
    public int CompareTo(Object oggetto)
    {
    Giornali prezzo = (Giornali) oggetto;
    return getPrezzo().compareTo(oggetto.getPrezzo());

    }

    }


    questo è il tester....almeno quello che ho fatto fin ora....

    public class GiornaliTester
    {

    public static void main(String[] args)
    {
    Giornali[] riviste = {
    new Giornali("Amica", 139, 2.80),
    new Giornali("Gente", 120, 1.80),
    new Giornali("Cucina Moderna", 86, 1.80),
    new Giornali("Guida TV", 28, 1.20),
    new Giornali("Quattroruote", 110, 2.50),
    new Giornali("Famiglia Cristiana", 80, 2.00),
    new Giornali("PC Magazine" 92, 1.80),
    new Giornali("Gente e viaggi", 140, 2.00),
    new Giornali("DOVE", 120, 2.60),
    new Giornali("Fashion", 40, 2.60),
    new Giornali("Case e casali", 100, 3.00)
    };

    }

    }

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Leon90tps
    il dubbio è come inserire il codice dell bubblesort(esatto è proprio quello) all interno del codice sorgente....
    Per il bubblesort basta 1 solo metodo. Poi cosa passare al metodo .... è un altro discorso e l'avevo accennato nell'altra tua discussione. Vuoi passare un generico Object[]?
    Il metodo che implementa l'algoritmo di ordinamento, l'unica cosa che dovrebbe "sapere" (oltre al fatto di lavorare su un array) è che gli oggetti devono implementare Comparable.

    Quindi l'algoritmo di ordinamento è "generico" nel senso che non "sa" nulla di cosa siano gli oggetti e di quale sia il criterio di ordinamento. Sa solo come pilotare le comparazioni tra coppie di oggetti.

    Originariamente inviato da Leon90tps
    e poi il metodo compareto, visto ke sta volta ci sono tre attributi, anke se deve essere ordinato per il prezzo...
    Se il criterio di ordinamento è solo il prezzo, è semplice. Immagino sia un double. Se prezzo_this < prezzo_altro fai ritornare -1, se prezzo_this > prezzo_altro fai ritornare +1, altrimenti fai ritornare 0.

    Originariamente inviato da Leon90tps
    poi dice un altra cosa l'esercizio, cioè che quando un utente inserisce un prezzo base e un prezzo limite(ese. 1,50 - 2,00) deve stampare tutti i giornali compresi in quel prezzo.....!
    Questo è da vedere come "filtro". E immagino che lo devi fare alla fine, quando stampi la lista ordinata. Il giornale ha il prezzo in quel range? Allora lo stampi, altrimenti no.
    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 © 2025 vBulletin Solutions, Inc. All rights reserved.