2013-04-11 58 views
0

所以我有一個任務要做,它在spainsh但我希望它可以。 問題是我做了一切根據他們給我的指示,當我嘗試運行它與日食,它說「選擇不包含主類型」我不知道該怎麼做,因爲在我的指示,他們並沒有說「主要(字符串...等)」 這是我的代碼: 順便說一句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; 


    } 

}
三江源非常感謝!

+0

我還沒有通過你的代碼。所以我想它要求在這些類之一中調用'public static void main(String [] sm){...}'來調用功能。 – Smit 2013-04-11 00:13:51

+0

認爲是如果我把整個代碼suddnely錯了,除了如果他們沒有告訴我使用公共靜態void main(String [] sm){}我不認爲我想要使用它... – 2013-04-11 00:18:38

+0

你不必把整個代碼放在main方法裏面。 [this](http://www.coderanch.com/t/540929/java/java/selection-main-type-world-program)鏈接可以幫助你。這是你的教授的要求,我不確定這一點。 – Smit 2013-04-11 00:22:13

回答

2

你提到的其他類中有一個有一個主要方法嗎?如果是這樣,請嘗試運行其中的一個。如果沒有,那麼你可以嘗試創建你自己的主要方法。沒有主要方法,Java應用程序就無法啓動。