Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    15

    Overdrive metodi

    Salve a tutti questo e' il mio primo post in questo forum.

    Sto cercando di andare per gradi per raggiungere la soluzione del problema richiesto dal prof.

    Testo:
    Definire la classe SortedLinkedList che estende la classe LinkedList (vista a
    lezione) PREMETTO CHE IO NON L'HO VISTA E NON SONO RIUSCITO AD AVERE APPUNTI
    (sono uno studente lavoratore) e che mantiene ordinata la lista: ridefinire il metodo add() affinché inserisca gli elementi in ordine. Gli oggetti da inserire devono essere confrontabili e quindi devonoimplementare l’interfaccia Comparable.
    Si ordini la lista in modo che il valore massimo sia in testa (first) e il valore minimo in coda (last). Verificare la correttezza dell’implementazione: per esempio usando sequenze di stringhe in ordine, in ordine inverso, casuali, uguali. Verificare con sequenze di 21 elementi Integer casuali, con valori compresi nell’intervallo [-30,30].


    Sono riuscito a visualizzare i numeri come richiesto.

    Ora cerco di capire come fare l'overdrive del metodo add() con compareTo().
    Allego il codice con compilazione a buon fine (a scopo didattico) x chi e' interessato:


    Codice:

    import java.util.*;
    public class SortedLinkedList extends LinkedList
    {
    private static int elementi;
    public static void main ( String []args )
    {
    if(args.length > 0)
    elementi = Integer.parseInt(args[0]);
    else
    elementi = 21;
    System.out.println( "Prova su " + elementi + "elementi." );
    LinkedList l = new LinkedList();
    // riempi la lista di numeri a caso tra -30 e +30
    ListIterator it_aggiunta = l.listIterator();
    Random generatore=new Random();
    for ( int i = 0; i < elementi; i++ )
    {
    int segno=generatore.nextInt(2);// 0 o 1
    int n=generatore.nextInt(31);
    if(n<15)
    l.add(new Integer(- n ));
    else
    l.add(new Integer(n));
    }
    // stampa tutti i valori
    System.out.println( "-Collezione completa:" );
    stampaCollezione( l );
    }
    private static void stampaCollezione
    ( Collection c )
    {
    Iterator i = c.iterator();
    while ( i.hasNext() )
    {
    System.out.println( i.next() );
    }
    }
    Se qualcuno vuole darmi qualche dritta e' ben accetto.

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480

    Moderazione

    Ho modificato il titolo per renderlo maggiormente significativo e rappresentativo del contenuto della discussione (e del problema generale).

    Buona prosecuzione!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    15
    X Moderatore
    cortesemente potresti correggermi il titolo in overload

    e a meta' codice circa if (n<15) in if (segno==0) altrimenti non funzionera' mai.

    Io me ne sono accorto che era gia' scaduto il tempo di modifica.

    Grazie

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.