所以我有一个任务要做,它在西班牙,但我希望它没问题。问题是我按照他们给我的说明做了所有事情,当我尝试用 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;
}
}
非常感谢!