pero el código lo tengo fraccionado, como puedo compilarlos en uno solo

Iniciado por wjoa97, 5 Julio 2017, 17:50 PM

0 Miembros y 1 Visitante están viendo este tema.

wjoa97

Buenas soy nuevo aquí, y pues en mi universidad debo realizar el siguiente programa:

En un puerto se alquilan amarres para  barcos  de distinto tipo. Para cada ALQUILER se guarda el nombre y DNI del cliente, las fechas  inicial  y final de  alquiler,  la posición  del amarre y el barco que  lo ocupará. Un BARCO se caracteriza por su matrícula, su eslora en metros y año de fabricación.

Un alquiler se calcula multiplicando el número de días de ocupación (incluyendo los días inicial y final) por un módulo función de cada barco (obtenido simplemente multiplicando por 10 los metros de eslora) y por un valor fijo (2 e en la actualidad).

Sin embargo ahora se pretende diferenciar la información de algunos  tipos de barcos:

·         Número  de mástiles para  veleros

·         Potencia en CV para  embarcaciones deportivas a motor

·         Potencia en CV y número de camarotes para  yates de lujo

·         El módulo de los barcos  de un tipo especial se obtiene como el módulo normal  más:

o   El número de mástiles para  veleros

o   La potencia en CV para  embarcaciones deportivas a motor

o   La potencia en CV más el número de camarotes para  yates de lujo

Utilizando la herencia de forma  apropiada, diseñe el diagrama de clases y sus relaciones, con  detalle de atributos  y métodos necesarios. Programe en Java los métodos que permitan calcular el alquiler de cualquier tipo de barco

PD: debo usar interfaz gráfica, y si hay algún error en el código avisarme



En fin, tengo el código, uso eclipse, pero el código lo tengo fraccionado en 7 blogs de notas quisiera saber como puedo compilarlos en uno solo aqui se los dejo porfa ayuda

gracias ...

Datos alquiler cliente

package Programa;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class Alquiler {

   private GregorianCalendar fInicio, fFin;
   private int posicionAmarre;
   private Barco barco;
   private double precioAlquiler;
   private Cliente cliente;

   public Alquiler(Cliente cliente, int diaInicio, int mesInicio, int añoInicio, int diaFin, int mesFin, int añoFin, int posicionAmarre, Barco barco) {
       this.cliente = cliente;
       fInicio = new GregorianCalendar(añoInicio, mesInicio, diaInicio);
       fFin = new GregorianCalendar(añoFin, mesFin, diaFin);
       this.posicionAmarre = posicionAmarre;
       this.barco = barco;
       precioAlquiler = 0.0;
   }

   // Getters

   public Cliente getCliente() {
       return cliente;
   }
       
   public String getfInicio() { // Muestra la fecha formateada: DD/MM/AA
       return fInicio.get(Calendar.DATE) + "/" + fInicio.get(Calendar.MONTH) + "/" + fInicio.get(Calendar.YEAR);
   }

   public String getfFin() { // Muestra la fecha formateada: DD/MM/AA
       return fFin.get(Calendar.DATE) + "/" + fFin.get(Calendar.MONTH) + "/" + fFin.get(Calendar.YEAR);
   }
   
   public int getPosicionAmarre() {
       return posicionAmarre;
   }

   public Barco getBarco() {
       return barco;
   }

   public double getPrecioAlquiler() {
       return precioAlquiler;
   }
   


   public void setCliente(Cliente cliente) {
       this.cliente = cliente;
   }
       
   public void setfInicio(int diaInicio, int mesInicio, int añoInicio) {
       fInicio = new GregorianCalendar(añoInicio, mesInicio, diaInicio);
   }

   public void setfFin(int diaFin, int mesFin, int añoFin) {
       fFin = new GregorianCalendar(añoFin, mesFin, diaFin);
   }

   public void setPosicionAmarre(int posicionAmarre) {
       this.posicionAmarre = posicionAmarre;
   }

   public void setBarco(Barco barco) {
       this.barco = barco;
   }
   
   // Calcula la diferencia en dias entre dos fechas
   private long diasOcupados() {
       long aux = fFin.getTimeInMillis() - fInicio.getTimeInMillis();
       long dias = aux / (1000 * 60 * 60 * 24);
       return dias;
   }

   // Multiplica días de ocupación
   public void calculaPrecioAlquiler(Barco a) {
       // Dias ocupados * Precio del amarre según el tipo de barco * valor fijo
       precioAlquiler = diasOcupados() * a.calculaPrecioAmarre() + 2;
   }


   public String toString() {
       return "***** Alquiler ******" + "\nNombre: " + cliente.getNombre()
               + " | DNI: " + cliente.getDni()
               + " | Teléfono: " + cliente.getTelefono()
               + "\nFecha de inicio: " + getfInicio()
               + " | Fecha de fin: " + getfFin()
               + "\nPosicion de amarre: " + posicionAmarre
               + " | Barco: " + barco.getMatricula();
   }

}


Datos barco matricula, eslora, año de fabrucacion

public class Barco {

   private String matricula;
   private int eslora;
   private GregorianCalendar añoFabricacion;
   private double precioAmarre;

   public Barco(String matricula, int eslora, int añoFabricacion) {
       this.matricula = matricula;
       this.eslora = eslora;
       this.añoFabricacion = new GregorianCalendar(añoFabricacion, 12, 31);
       precioAmarre = 0.0;
   }

   public String getMatricula() {
       return matricula;
   }

   public int getEslora() {
       return eslora;
   }

   public int getAñoFabricacion() {
       return añoFabricacion.get(Calendar.YEAR);
   }

   public void setMatricula(String matricula) {
       this.matricula = matricula;
   }

   public void setEslora(int eslora) {
       this.eslora = eslora;
   }

   public void setAñoFabricacion(int añoFabricacion) {
       this.añoFabricacion = new GregorianCalendar(añoFabricacion, 12, 31);
   }

   public void impuestoTipoBarco(double precioAmarre) {
       this.precioAmarre = this.precioAmarre + precioAmarre;
   }

   public double calculaPrecioAmarre() {
       precioAmarre = eslora * 10;
       return precioAmarre;
   }
   public String toString() {
       return "***** Barco ******\n" + "Matrícula: " + matricula
               + " | Metros de eslora: " + eslora
               + "\nAño de fabricación: " + getAñoFabricacion();
   }

}


Datos Bote deportivo

public class Deportivo extends Barco {

   private int potencia;

   public Deportivo(int potencia, String matricula, int eslora, int añoFabricacion) {
       super(matricula, eslora, añoFabricacion);
       this.potencia = potencia;
   }

   public int getPotencia() {
       return potencia;
   }

   public void setPotencia(int potencia) {
       this.potencia = potencia;
   }

   public double calculaPrecioAmarre() {
       return super.calculaPrecioAmarre() + potencia * 1;
   }

   public String toString() {
       return "***** Deportivo a motor *****\n"
               + "Matrícula: " + super.getMatricula()
               + " | Metros de eslora: " + super.getEslora()
               + "\nAño de fabricación: " + getAñoFabricacion()
               + " | Potencia: " + potencia + "CV";
   }
}



Datos Bote velero

public class Velero extends Barco {

   private int numeroMastiles;

   public Velero(int numeroMastiles, String matricula, int eslora, int añoFabricacion) {
       super(matricula, eslora, añoFabricacion);
       this.numeroMastiles = numeroMastiles;
   }

   public int getNumeroMastiles() {
       return numeroMastiles;
   }

   public void setNumeroMastiles(int numeroMastiles) {
       this.numeroMastiles = numeroMastiles;
   }

   public double calculaPrecioAmarre() {
       return super.calculaPrecioAmarre() + numeroMastiles * 5;
   }
   
   public String toString() {
   return "****** Velero ******\n" + "Matrícula: " + super.getMatricula()
           + " | Metros de eslora: " + super.getEslora()
           + "\nAño de fabricación: " + getAñoFabricacion()
           + " | Mastiles: " + numeroMastiles;
}
}


Datos Bote Yate Lujoso

public class Yate extends Deportivo {

   private int camarotes;

   public Yate(int camarotes, int potencia, String matricula, int eslora, int añoFabricacion) {
       super(potencia, matricula, eslora, añoFabricacion);
       this.camarotes = camarotes;
   }

   public int getCamarotes() {
       return camarotes;
   }

   public void setCamarotes(int camarotes) {
       this.camarotes = camarotes;
   }

   public double calculaPrecioAmarre() {
       return super.calculaPrecioAmarre() + camarotes * 20;
   }

   public String toString() {
       return "***** Yate de lujo *****\n" + "Matrícula: " + super.getMatricula()
               + " | Metros de eslora: " + super.getEslora()
               + "\nAño de fabricación: " + getAñoFabricacion()
               + " | Potencia: " + super.getPotencia() + "CV"
               + " | Camarotes: " + camarotes;
   }
}


Datos cliente

public class Cliente {
   
   private String nombre, dni;
   private long telefono;

   public Cliente(String nombre, String dni, long telefono) {
       this.nombre = nombre;
       this.dni = dni;
       this.telefono = telefono;
   }

   public String getNombre() {
       return nombre;
   }

   public String getDni() {
       return dni;
   }

   public long getTelefono() {
       return telefono;
   }

   public void setNombre(String nombre) {
       this.nombre = nombre;
   }

   public void setDni(String dni) {
       this.dni = dni;
   }

   public void setTelefono(long telefono) {
       this.telefono = telefono;
   }
}    


Funcion principal

public class RunAmarres {

   public static void main(String[] args) {
       Barco titanic = new Deportivo(500, "1565-FHD", 8, 2003);
       
       Cliente gerardo = new Cliente("Gerardo", "18088821-B", 63453673);

       Alquiler alquilerGerardo = new Alquiler(gerardo, 23, 5, 2015, 29, 5, 2015, 23, titanic);

       System.out.println(alquilerGerardo.toString() + "\n");

       System.out.println(titanic.toString());

       alquilerGerardo.calculaPrecioAlquiler(titanic);
               
       System.out.println("\n----------------------------------------------");

       System.out.printf("Precio del amarre: %.2f€\n", titanic.calculaPrecioAmarre());
       
       System.out.printf("Precio del alquiler: %.2f€\n", alquilerGerardo.getPrecioAlquiler());
   }
}





Ayuda porfavor, estoy un poco frustrado con esto.. gracias







· No se debe escribir en mayúsculas
>aquí las reglas del foro
-Engel Lex

LaThortilla (Effort)

No sabes como conpilarlo :huh: :huh: :huh: :huh: