0

So I have an assignment to do, its in spainsh but i hope its okay. the problem is i did everything according to the instructions they gave me and when i try to run it with eclipse, it says "selection does not contain a main type" i dont know what to do because in my instructions they didnt say to put "main (string ...etc." this is my code: BTW TelemetriaEstado and CoordenadaEcuatorial are both two classes that they gave me already done, so they shouldnt be the problem:package es.upm.dit.prog.p3;

public class GestorTelemetrias {

    final int N_MAX_TELEMETRIAS = 5;
    private TelemetriaEstado [] telemetriasAlmacenadas;
    private int totalTMalmacenadas;

    /**
     * construcor de la clase GestorTelemetrias. Inicia el objeto.
     */
    public GestorTelemetrias () {
        totalTMalmacenadas = 0;
        telemetriasAlmacenadas = new TelemetriaEstado [N_MAX_TELEMETRIAS];

    }

    /**
     * Metodo que guarda 5 telemetrias de estado, sin que se repitan y ignorando las de valor null.
     */
    public void setTelemetrias (TelemetriaEstado [] telemetrias) throws NullPointerException {
        if (telemetrias == null)
            throw new NullPointerException (); //aseguramos no guardar ninguna telemetria con valor null. 

        totalTMalmacenadas = 0; //ponemos el contador de telemetrias almacenadas a 0.
        for (int i=0; i < telemetrias.length; i++) {
            if (telemetrias[i] != null) {
                telemetriasAlmacenadas [totalTMalmacenadas++] = telemetrias[i];
            }
            if (totalTMalmacenadas == N_MAX_TELEMETRIAS) break;
        }
    }

    public TelemetriaEstado[] getTelemetrias ()  {
        TelemetriaEstado [] telemetrias = new TelemetriaEstado [totalTMalmacenadas];
        for (int i=0; i < totalTMalmacenadas; i++) {
            telemetrias [i] = telemetriasAlmacenadas[i];
        }
    return telemetrias;
    }

    public void insertarTelemetria (TelemetriaEstado unaTelemetria) throws NullPointerException, Exception {
        if (unaTelemetria == null)
            throw new NullPointerException ();

            for (int i=0; i< totalTMalmacenadas; i++) {

                if (telemetriasAlmacenadas[i].equals(unaTelemetria)) 
                throw new Exception("La telemetria que intenta insertar ya está almacenada");

                if (!telemetriasAlmacenadas[i].equals(unaTelemetria))
                    telemetriasAlmacenadas[i] = unaTelemetria;

            }
    }
    public int obtenerNumeroTelemetrias () {
    return totalTMalmacenadas;
    } 

    public void eliminarTelemetria (TelemetriaEstado unaTelemetria) throws NullPointerException, Exception {

        if (unaTelemetria == null) throw new NullPointerException ();


        for (int i=0; i< totalTMalmacenadas; i++) {
            if (telemetriasAlmacenadas[i].equals(unaTelemetria) == true) unaTelemetria = null;

            else 
                throw new Exception("La telemetria que intenta eliminiar no existe.");
        }


    }
    public boolean estaTelemetria (TelemetriaEstado unaTelemetria) throws NullPointerException {
    if (unaTelemetria == null) throw new NullPointerException ();

    for (int i=0; i< totalTMalmacenadas; i++){
        if (telemetriasAlmacenadas[i].equals(unaTelemetria) == true)
            return true;
    }
    return false;
    }
    public double getMayorDiferenciaTemperatura () throws Exception {
        if (totalTMalmacenadas< 2) throw new Exception ("Error. Necesitamos al menos 2 telemetrias almacenadas para calcular la mayor diferencia de temperatura.");

        double diff = 0;
        for (int i=1; i< totalTMalmacenadas; i++) {
              double max = telemetriasAlmacenadas[0].getTemperatura();
              double comparacion = telemetriasAlmacenadas[i].getTemperatura();
              if (Math.max(comparacion, max) == telemetriasAlmacenadas[i].getTemperatura()) 
                  max = telemetriasAlmacenadas[i].getTemperatura();

              double min = telemetriasAlmacenadas[0].getTemperatura();
              double comparacion2 = telemetriasAlmacenadas[i].getTemperatura();
              if (Math.min(comparacion2, min) == telemetriasAlmacenadas[i].getTemperatura()) 
                  min = telemetriasAlmacenadas[i].getTemperatura();

          diff = Math.abs(max - min);
        }
          return diff;


    }

}
Thankyou very much!

  • I have not gone through you code. So I guess it ask for `public static void main(String[] sm){...}` in one of these classes to invoke functionality. – Smit Apr 11 '13 at 00:13
  • the think is if i put that the whole code is suddnely wrong, and besides if they didnt tell me to use public static void main(String[] sm) {} i dont think the want me to use it... – Paula Menéndez Pausa Apr 11 '13 at 00:18
  • You dont have to put whole code inside main method. [this] (http://www.coderanch.com/t/540929/java/java/selection-main-type-world-program) link could help you. And waht are your professors requirement I am not sure about that. – Smit Apr 11 '13 at 00:22

1 Answers1

2

Do one of the other classes you mentioned have a main method? If so, try running one of them. If not, then you could try creating your own main method. A Java application cannot start without a main method.