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!