Salve a tutti,
Il testo del problema posto dal prof. e' il seguente:
2. Sviluppare una classe Process che descriva un processo. Definire tre campi: un intero che
identifica il processo (pid), una stringa per il nome del processo e un intero per
l’occupazione di memoria. Definire il costruttore della classe e il metodo toString().
Implementare l’interfaccia Comparable: il confronto è fatto sulla memoria utilizzata.
Io ho sviluppato questo codice che mi da errore quando uso compareTo().
Mi ci sto picchiando da parecchio ma non riesco a capire dove sbaglio.![]()
import java.util.*;
import java.lang.*;
class Process implements Comparable
{
int pid;
String nome;
int memoria;
public Process(int pid, String nome, int memoria) //costruttore
{
this.pid= pid;
this.nome = nome;
this.memoria = memoria;
}
public void StampaDettagli()
{
System.out.println("Processo "+pid+" Nome " + nome + " Memoria " + memoria);
}
public String toString()
{
return nome + " " + pid+" "+memoria;
}
public int compareTo(Object o){
Process tmp = (Process) o;
return memoria.compareTo(tmp.memoria);
}
// private int pid;
// private String nome;
// private int memoria;
}
public class UsoProcess
{
public static void main(String args[])
{
Process[] proc = new Process[3];
proc[0] = new Process(2,"integer", 1500);
proc[1] = new Process(6,"calc", 2500);
proc[2] = new Process(4,"sum", 2500);
System.out.println("===================");
System.out.println("Situazione processi");
System.out.println(" ");
for (int i = 0; i < 3; i++)
{
proc[i].StampaDettagli();
}
System.out.println(" ");
System.out.println(" ");
System.out.println(" ");
}
}
Grazie per l'aiuto![]()