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

    problema con uso compareTo()

    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

  2. #2
    che errore ti da?
    stex1984

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    15
    Risolto
    memoria e' un int non un oggetto e non ha metodo:
    quindi:

    return memoria > tmp.memoria ? +1 : memoria < tmp.memoria ? -1 : 0;

    Comunque 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.