[ Foro de Java ]
muy buenas querria saber si hay alguien que me podira ayudar a resolver un problema de returns,este seria el codigo son varios apartados por que es con herencia.
*****************Presupuesto***********************
public class Presupuesto {
final double COMISION_GESTION = 8.25;
protected String DNI;
protected String nombre;
protected int numPasajeros;
protected String tipoDeServicio;
protected double precioBase;
public Presupuesto(){
}
public Presupuesto(String DNI, String nombre, int numPasajeros, String tipoDeServicios) {
this.DNI = DNI;
this.nombre = nombre;
this.numPasajeros = numPasajeros;
this.tipoDeServicio = tipoDeServicios;
}
public String getTipoDeServicio() {
return tipoDeServicio;
}
public void setTipoDeServicio(String tipoDeServicio) {
this.tipoDeServicio = tipoDeServicio;
}
public void setDNI(String DNI) {
this.DNI = DNI;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public void setNumPasajeros(int numPasajeros) {
this.numPasajeros = numPasajeros;
}
public double getCOMISION_GESTION() {
return COMISION_GESTION;
}
public String getDNI() {
return DNI;
}
public String getNombre() {
return nombre;
}
public int getNumPasajeros() {
return numPasajeros;
}
private void setPrecioBase(){
this.precioBase=numPasajeros*COMISION_GESTION;
}
}
************************************************************
***********************EstanciaHotel***********************
public class EstanciaHotel extends Presupuesto {
final int hotelesCosta = 45;
final int hotelesInterior = 35;
final int CapitalesEu = 60;
final int alojamiento = 0;
final int mediaPension = 10;
final int pensionCompleta = 15;
protected String ciudad;
protected int numDias;
protected String tipoLocalizacion;
protected String tipoDePension;
protected double precioFinal;
public EstanciaHotel(String ciudad, int numDias, String tipoLocalizacion, String tipoDePension, double precioFinal, String DNI, String nombre, int numPasajeros, String tipoDeServicios) {
super(DNI, nombre, numPasajeros, tipoDeServicios);
this.ciudad = ciudad;
this.numDias = numDias;
this.tipoLocalizacion = tipoLocalizacion;
this.tipoDePension = tipoDePension;
}
EstanciaHotel(){
}
public void calcularPrecio() {
switch (this.tipoDePension) {
case "Alojamiento":
this.precioFinal = alojamiento + numDias * numPasajeros;
break;
case "Media Pension":
this.precioFinal = mediaPension + numDias * numPasajeros;
break;
case "Pension Completa":
this.precioFinal = pensionCompleta + numDias * numPasajeros;
break;
default: //Pongo que por defecto sea el mas barato
this.precioFinal = mediaPension;
break;
}
this.precioFinal += super.COMISION_GESTION;
}
public int getHotelesCosta() {
return hotelesCosta;
}
public int getHotelesInterior() {
return hotelesInterior;
}
public int getCapitalesEu() {
return CapitalesEu;
}
public int getAlojamiento() {
return alojamiento;
}
public int getMediaPension() {
return mediaPension;
}
public int getPensionCompleta() {
return pensionCompleta;
}
public String getCiudad() {
return ciudad;
}
public int getNumDias() {
return numDias;
}
public String getTipoLocalizacion() {
return tipoLocalizacion;
}
public String getTipoDePension() {
return tipoDePension;
}
public double getPrecioFinal() {
return precioFinal;
}
public String toString() {
return this.getNombre() + " " + this.getDNI() + " " + this.getNumPasajeros() + " " + this.getTipoDeServicio() + " " + this.getPrecioFinal();
}
}
*******************************************************
****************************Vuelo**********************
public class Vuelo extends Presupuesto {
final int tasaPeninsular = 100;
final int tasaDentroDeEuropa = 150;
final int tasaFueraDeEuropa = 200;
protected String ciudadDeSalida;
protected String ciudadDeDestino;
protected String tipoDeVuelo;
protected String idaOvuelta;
protected double precioFinal;
public Vuelo(String ciudadDeSalida, String ciudadDeDestino, String tipoDeVuelo, String idaOvuelta, String DNI, String nombre, int numPasajeros, String tipoDeServicios) {
super(DNI, nombre, numPasajeros, tipoDeServicios);
this.ciudadDeSalida = ciudadDeSalida;
this.ciudadDeDestino = ciudadDeDestino;
this.tipoDeVuelo = tipoDeVuelo;
this.idaOvuelta = idaOvuelta;
}
Vuelo() {
}
public void calcularSueldo() {
switch (this.tipoDeVuelo) {
case "Peninsular":
this.precioFinal = tasaPeninsular + COMISION_GESTION;
break;
case "Dentro de Europa":
this.precioFinal = tasaDentroDeEuropa + COMISION_GESTION;
break;
case "Fuera de Europa":
this.precioFinal = tasaFueraDeEuropa + COMISION_GESTION;
break;
default: //Pongo que por defecto sea el mas barato
this.precioFinal = tasaPeninsular;
break;
}
this.precioFinal += super.COMISION_GESTION;
}
public int getTasaPeninsular() {
return tasaPeninsular;
}
public int getTasaDentroDeEuropa() {
return tasaDentroDeEuropa;
}
public int getTasaFueraDeEuropa() {
return tasaFueraDeEuropa;
}
public String getCiudadDeSalida() {
return ciudadDeSalida;
}
public String getCiudadDeDestino() {
return ciudadDeDestino;
}
public String getTipoDeVuelo() {
return tipoDeVuelo;
}
public String getIdaOvuelta() {
return idaOvuelta;
}
public double getPrecioFinal() {
return precioFinal;
}
public String toString() {
return this.getNombre() + " " + this.getDNI() + " " + this.getNumPasajeros() + " " + this.getTipoDeServicio() + " " + this.getPrecioFinal();
}
}
********************************************************************
********************************Test**********************************
import java.io.File;
import java.io.FileWriter;
import java.util.Scanner;
import java.io.BufferedReader;
import java.io.FileReader;
public class Test {
static Scanner teclado = new Scanner(System.in);
public static Presupuesto contratarVacaciones() {
String hotel_vuelo = "";
String DNI;
int numPasajeros;
int numDias;
boolean vueloValido = false;
boolean tipoValido = false;
while (!vueloValido) {
System.out.println("¿Que tipo de servicio se le ofrece?(Vuelo o Hotel)");
hotel_vuelo = teclado.next();
if (!hotel_vuelo.equalsIgnoreCase("vuelo") && !hotel_vuelo.equalsIgnoreCase("hotel")) {
System.out.println("Introduzca un servicio valido.");
System.out.println("-----------------------------------------------");
} else {
vueloValido = true;
}
}
System.out.print("Introduzca su DNI: ");
DNI = teclado.next();
System.out.print("Introduzca cuantos pasajeros sereis: ");
numPasajeros = teclado.nextInt();
System.out.print("Introduzca cuantos dias va a estar: ");
numDias = teclado.nextInt();
while (!tipoValido) {
if (hotel_vuelo.equalsIgnoreCase("hotel")) {
System.out.println("Introduzca que tipo de pension: (Solo Alojamiento, Media Pension, Pension Completa)");
String tipoDePension = teclado.nextLine();
if ((!tipoDePension.equals("Solo Alojamiento") && !tipoDePension.equals("Media Pension")) && !tipoDePension.equals("Pension Completa")) {
System.out.println("No ha introducido una opcion valida.");
System.out.println("---------------------");
} else {
tipoValido = true;
System.out.println("La operacion fue un exito");
}
} else {
System.out.println("Introduzca que tipo de vuelo desea (Dentro de la Peninsula, Europa, Fuera de Europa)");
String tipoDeVuelo = teclado.nextLine();
if (!tipoDeVuelo.equals("Dentro de la Peninsula") && !tipoDeVuelo.equals("Europa") && !tipoDeVuelo.equals("Fuera de Europa")) {
System.out.println("No ha introducido un tipo valido.");
System.out.println("-----------------------------------------------");
} else {
tipoValido = true;
System.out.println("La operacion fue un exito");
}
}
}
/*se que tengo que hacer returns pero me daban fallos*/
}
public static void ordenarPorNombres(Presupuesto[] array) {
Presupuesto aux;
for (int i = 0; i < array.length - 1; i++) {
for (int j = 0; j < array.length - i - 1; j++) {
if (array[j + 1].getNombre().compareTo(array[j].getNombre()) < 0) {
aux = array[j + 1];
array[j + 1] = array[j];
array[j] = aux;
}
}
}
}
public static void main(String[] args) {
Presupuesto[] presupuestos = new Presupuesto[6];
presupuestos[0] = new EstanciaHotel();
presupuestos[1] = new EstanciaHotel();
presupuestos[2] = new EstanciaHotel();
presupuestos[3] = new Vuelo();
int hoteles = 0, vuelos = 0;
for (int i = 0; i < 9; i++) {
if (presupuestos[i] instanceof EstanciaHotel) {
hoteles++;
} else if (presupuestos[i] instanceof Vuelo) {
vuelos++;
}
}
System.out.println("Vuelos: " + vuelos + "\nHoteles: " + hoteles);
String texto = "";
for (int i = 0; i < presupuestos.length; i++) {
texto += presupuestos[i].toString();
texto += "\n";
}
try {
File archivo = new File("vacaciones.txt");
FileWriter lapiz = new FileWriter(archivo, true);
lapiz.write(texto);
lapiz.close();
} catch (Exception e) {
System.out.println("Error al escribir.");
}
try{
FileReader lector = new FileReader("agenciaViajes.dat");
BufferedReader contenido = new BufferedReader(lector);
String textoLeido;
while((textoLeido=contenido.readLine())!=null){
System.out.println(textoLeido);
}
contenido.close();
}catch(Exception e){
System.out.println("Error al leer");
}
}
}
*******************************************************************
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)