Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [java] Arrays.sort

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    55

    [java] Arrays.sort(Object o)

    sto tentando di usare il metodo sort(Object o)

    il mio array è fatto di oggetti Prodotto , l'oggetto Prodotto implementa l'interfaccia Comparable, dovrebbe essere tutto giusto ma quando chiamo Arrays.sort(elenco); mi da

    java.lang.NullPointerException
    at java.util.Arrays.mergeSort(Arrays.java:1152)
    at java.util.Arrays.sort(Arrays.java:1079)
    at pietro_cottafavi.<init>(pietro_cottafavi.java:57)
    at ProvaConsuntivo.main(ProvaConsuntivo.java:17)
    Exception in thread "main"


    mi sapete dire dove sbaglio ??

    grazie, ciao

  2. #2
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao. Mi pare che è come se tu non istanziassi elenco; ( scusami la domanda stupida :tongue: ) prima di fare Arrays.sort( elenco ); da qualche parte fai una cosa del tipo: Prodotto[] elenco = new Prodotto[10] ( ad esempio ), e cioè crei effettivamente l'array di Prodotto? Perchè se non lo fai l'errore è dovuto a ciò
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    55
    si l'array lo creo infatti non riesco a capire dove sia l'errore

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    55
    penso di aver capito.... il mio array ha l'indice 0 = null

    grazie comunque , CIao

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    55
    adesso non da errori ma non ordina in ordine alfabetico come vorrei e non riesco a capire come li ordini esattamente...
    import java.util.*;
    class Prodotto implements Comparable {

    public final String nomeProd;
    private int numPezzi;
    private double saldo;
    /** Creates a new instance of Prodotto */
    public Prodotto(String prodotto, double prezzo_unitario, int num_pezzi) {
    nomeProd = prodotto;
    numPezzi = num_pezzi;
    saldo = prezzo_unitario*num_pezzi;
    }

    public String toString()
    {
    return nomeProd+" "+saldo+" "+numPezzi;
    }

    public int compareTo(Object o) {
    return nomeProd.compareTo(((Prodotto)o).nomeProd);
    }

    public static void main(String[] args)
    {
    Prodotto[] arTest = new Prodotto[3];
    arTest[0] = new Prodotto("ac", 1.2, 2);
    arTest[1] = new Prodotto("z", 1.2, 2);
    arTest[2] = new Prodotto("B", 1.2, 2);

    Arrays.sort(arTest, 0, 2);

    for(int i = 0; i < arTest.length; i++)
    {
    System.out.println(arTest[i]);
    }
    }

    }

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    55
    risolto , bisogn mettere come terzo parametro del metodo sort la lunghezza dell'array

    Arrays.sort(arTest, 0, arTest.length);

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 © 2024 vBulletin Solutions, Inc. All rights reserved.