Ciao a tutti,
sono uno studedente alle prime armi. Sto studiando java da poco e ho il seguente problema da porvi:
Mi è stato dato il main di un programmino e io dovrei seguirlo per scrivere le classi per farlo funzionare. Il punto che non ho mai usato un oggetto direttamente, solitamente trattavo solo i loro metodi separatamente.

Ho riscritto il programmino in modo da semplificarlo il più possibile, così da lasciare solo i passaggi a me non molto chiari.

Il problema è che il metodo "compareTo" mi restituisce come secondo oggetto sempre 0.
E ancora, è necessario usare un altro attributo come quello che ho aggiunto, cioè "nuovoM"?Si potrebbe riscrivere il tutto usando solamente l'attributo "m"?

Un grazie in anticipo.
Ecco a voi il codice:
codice:
                        package numerioggetti;

import javax.swing.JOptionPane;

public class Main {

    public static void main(String[] args) {
      Numero n1=null;
      Numero n2=null;
     
      double m=Double.parseDouble(JOptionPane.showInputDialog("inserisci un "
              +"numero: "));
      n1=new Numero (m);
      m=Double.parseDouble(JOptionPane.showInputDialog("inserisci un numero:"));
      n2=new Numero (m);
      n1.somma(n2);
      System.out.print("Somma: "+n1);
      n1.sottrai(n2);
      System.out.print("Sottrazione: "+n1);

      if (n1.compareTo(n2)>0){
          System.out.print("Il numero "+n1+" è maggiore di "+n2);
      }
      else if (n1.compareTo(n2)==0){
          System.out.print("Il numero "+n1+" è uguale a "+n2);
      }
      else{
          System.out.print("Il numero "+n1+" è minore di "+n2);
      }
    System.exit(0);
    }

}
class Numero {
    public Numero (double m){
        this.m=m;
    }
    private double m;
    private double nuovoM;
    public double getM (){
        return m;
    }
    public double somma (Numero unM){
        nuovoM=m+unM.getM();
        return nuovoM;
    }
    public double sottrai (Numero unM){
        nuovoM=m-unM.getM();
        return nuovoM;
    }
    public int compareTo (Numero unM){
        int x=0;
        nuovoM=m;
        if (nuovoM<unM.getM()){
            x=-1;
        }
        else if (nuovoM==unM.getM()){
             x=0;
        }
        else if (nuovoM>unM.getM()){
            x=1;
        }

        return x;

    }
    @Override
    public String toString(){
        return nuovoM+"\n";
    }
}