Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: guillerub2001 en 12 de Diciembre 2015, 16:14
-
Tengo una duda. En esta entrega (http://tinyurl.com/pbvg2a6 (http://tinyurl.com/pbvg2a6)) se dice que escribas y compiles el código:
//Ejemplo de clase que utiliza tipos definidos en otras clases (usa otras clases)
public class TaxiCond {
private Taxi vehiculoTaxi;
private Persona conductorTaxi;
//Constructor
public TaxiCond () {
vehiculoTaxi = new Taxi (); //Creamos un objeto Taxi con el constructor general de Taxi
conductorTaxi = new Persona (); //Creamos un objeto Persona con el constructor general de Persona
}
public void setMatricula (String valorMatricula) { vehiculoTaxi.setMatricula(valorMatricula); }
//Método que devuelve la información sobre el objeto TaxiCond
public String getDatosTaxiCond () {
String matricula = vehiculoTaxi.getMatricula();
String distrito = vehiculoTaxi.getDistrito();
int tipoMotor = vehiculoTaxi.getTipoMotor();
String cadenaTipoMotor = "";
if (tipoMotor ==0) { cadenaTipoMotor = "Desconocido"; }
else if (tipoMotor == 1) { cadenaTipoMotor = "Gasolina"; }
else if (tipoMotor == 2) { cadenaTipoMotor = "Diesel"; }
String datosTaxiCond = "El objeto TaxiCond presenta estos datos. Matrícula: " + matricula +
" Distrito: " + distrito + " Tipo de motor: " + cadenaTipoMotor;
System.out.println (datosTaxiCond);
return datosTaxiCond;
} //Cierre del método
} //Cierre de la clase
Perdón, error resuelto
Esta clase utiliza otras dos clases (como se dice en la entrega). Este es el código de ellas:
Código Taxi:
public class Taxi { //El nombre de la clase
private String ciudad; //Ciudad de cada objeto taxi
private String matricula; //Matrícula de cada objeto taxi
private String distrito; //Distrito asignado a cada objeto taxi
private int tipoMotor; //Tipo de motor asignado a cada objeto taxi. 0 = desconocido, 1 = gasolina, 2 = diesel
//Constructor: cuando se cree un objeto taxi se ejecutará el código que incluyamos en el constructor
public Taxi (String valorMatricula, String valorDistrito, int valorTipoMotor) {
ciudad = "México D.F.";
matricula = valorMatricula;
distrito = valorDistrito;
tipoMotor = valorTipoMotor;
} //Cierre del constructor
//Método para obtener la matrícula del objeto taxi
public String getMatricula () { return matricula; } //Cierre del método
//Método para obtener el distrito del objeto taxi
public String getDistrito () { return distrito; } //Cierre del método
//Método para obtener el tipo de motor del objeto taxi
public int getTipoMotor () { return tipoMotor; } //Cierre del método
} //Cierre de la clase
Código Persona:
public class Persona {
private String nombre;
private int edad;
public Persona (String nombrePersona) { //CONSTRUCTOR 1
nombre = nombrePersona;
edad = 0; }
public Persona () { //CONSTRUCTOR2
nombre = "";
edad = 0; }
public String getNombre () { return nombre; } //Cierre del método
} //Cierre de la clase
Muchas gracias por la ayuda.
EDIT: He conseguido resolver este error, pero me ha aparecido un segundo.
(http://s22.postimg.org/ufrdunv01/Captura.png)
-
Hola guillerub2001,
El error que te da es porque estas realizando una llamada a un método llamado setMatricula del objeto Taxi, pero no tienes creado este método en el objeto.
En la clase Taxi solo has creado los métodos getters, pero no los setters.
Créalo y veras como se solucionara el problema,
Animo,
Un Saludo,
-
Buenas tardes,
El error te da, porque en tu clase Taxi, no aparece ningun procedimiento llamado setMatricula.
Debes crearlo en Taxi para poderlo llamar después desde otra clase.
Un saludo.
-
Hola.
Perdonad por responder tarde,
muchísimas gracias a los dos por vuestra respuesta.
Un saludo!