[Java] Stampa array con classe Arrays

Fabbiooo1
Buonasera, sto svolgendo un esercizio il cui scopo è, dato un vettore, di ordinarlo tramite Merge Sort.
Il vettore in questione deve essere un vettore di Computer, dove Computer è una classe così definita:

class Computer implements Comparable<Computer>
{
	int costo;
	
	Computer(int c)
	{
		this.costo = c;
	}

	public int compareTo(Computer computer)
	{
		return this.costo - computer.costo;
	}
	
	public int estraiCosto()
	{
		return this.costo;
	}
}


L'unico campo di ciascun computer è il campo costo, che è un intero (come si può ben notare :-D )

Il problema non è tanto il Merge Sort, perchè ancora non ci sono arrivato ad implementarlo, ma il fatto che io non riesca a stampare il contenuto dell'array.
Come specifiche date dal mio prof ho:
_il riempimento del vettore deve essere fatto programmaticamente;
_per la stampa del contenuto del vettore (cioè il campo costo di ciascun computer) devo sfruttare il metodo toString() della classe Arrays.

In pratica:

public static void main(String[] args)
	{
		Computer[] array = {new Computer(5),new Computer(8),new Computer(1),new Computer(7),new Computer(4),new Computer(9)};
		System.out.println("Vettore da ordinare: " + Arrays.toString(array));
	}


Il problema di tutto ciò è che così facendo io stampo gli indirizzi di memoria di ciascun computer dell'array e non il campo costo di ciascun computer dell'array:

Vettore da ordinare: [Computer@3d4eac69, Computer@42a57993, Computer@75b84c92, Computer@6bc7c054, Computer@232204a1, Computer@4aa298b7]


Qualcuno gentilmente mi saprebbe dire dove sta il mio errore? :smt023

Risposte
giovx24
Ciao,
Prova ad implementare il metodo toString dentro la classe Computer

Fabbiooo1
Grazie ancora giovx24! :smt023
Sto scrivendo così tanto codice in questi giorni che mi sta iniziando a dare alla testa :? :-D

giovx24
di nulla :D

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.