0

所以我有一个任务要做,它在西班牙,但我希望它没问题。问题是我按照他们给我的说明做了所有事情,当我尝试用 eclipse 运行它时,它说“选择不包含主要类型”我不知道该怎么做,因为在我的说明中他们没有说要放“ main (string ...etc." 这是我的代码:BTW TelemetriaEstado 和 CoordenadaEcuatorial 都是他们给我的两个类,所以它们不应该是问题:package es.upm.dit.prog.p3;

公共类 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;


    }

}
非常感谢!

4

1 回答 1

2

您提到的其他类之一是否有 main 方法?如果是这样,请尝试运行其中之一。如果没有,那么您可以尝试创建自己的 main 方法。没有 main 方法,Java 应用程序无法启动。

于 2013-04-11T00:16:23.503 回答