【问题标题】:Launch error: selection does not contain main type [duplicate]启动错误:选择不包含主要类型[重复]
【发布时间】:2013-04-11 00:11:49
【问题描述】:

所以我有一个任务要做,它在西班牙,但我希望它没问题。 问题是我按照他们给我的说明做了所有事情,当我尝试用 eclipse 运行它时,它说“选择不包含主要类型”我不知道该怎么做,因为在我的说明中他们没有说要放“主要(字符串...等。” 这是我的代码: 顺便说一句,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;


    }

}
非常感谢!

【问题讨论】:

  • 我没有看过你的代码。所以我猜它在这些类之一中要求public static void main(String[] sm){...} 来调用功能。
  • 我的想法是,如果我认为整个代码突然错了,而且如果他们没有告诉我使用 public static void main(String[] sm) {} 我不认为我想要使用它...
  • 您不必将整个代码放在 main 方法中。 [这个] (coderanch.com/t/540929/java/java/…) 链接可以帮助你。你对教授的要求是什么,我不确定。

标签: java types main launch


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-18
    • 2011-05-14
    • 2013-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多