Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - ady

Páginas: [1]
1
Gracias Pedro, tendré en cuenta tu sugerencia en relación al código para mis próximas consultas.

Con respecto al error, eso quiere decir que dentro del constructor no puedo o no debería establecer los parámetros de esa forma?  O los estoy colocando mal?

Porque me estaba guiando con una de las respuestas del foro que tiene este código en el constructor, y la verdad quería probar de esa manera.

Código: [Seleccionar]
public void setCocina (CocinaCasa objetoCocina) {
        cocina = new CocinaCasa(objetoCocina.getEsIndependente(), objetoCocina.getNumeroDeFuegos() );
    }

Ese código esta en una respuesta que dan en este link
https://www.aprenderaprogramar.com/foros/index.php?topic=1238.0

Disculpa si me pongo pesada con esto, solo que intento comprender bien el lenguaje.

Muchas gracias

2
Hola buenas noches. Realizando el ejercicio de la clase CU00642B me encuentro con este error

constructor in class cannot be applied to given types required: no arguments...

, que por mas que lea y relea el código aún no comprendo el motivo del mismo.

El código de las clases SalonCasa y CocinaCasa ya lo verifiqué con otros posts y según las explicaciones y todo lo demás están correctos, por eso no los colocaré, solo dejaré el de la clase Casa que es el que me esta dando problemas y que aunque también lo he comparado con los códigos de otros posts y a mi parecer esta igual, quisiera que me explicaran el por que del error para entender mejor.

Dejaré unos comentarios en el código para que vean donde exactamente tengo el problema.

Casa
Código: [Seleccionar]
public class Casa{
    private double superficie;
    private String direccion;
    private SalonCasa salonCasa;
    private CocinaCasa cocina;

    //Constructor 1 sin parametros
    public Casa(){
        superficie = 0;
        direccion = "";
        salonCasa = new SalonCasa();
        cocina = new CocinaCasa();
    }
   
    //Constructor 2 con parametros
    public Casa(double valorSuperficie, String valorDireccion, SalonCasa objetoSalon, CocinaCasa objetoCocina){
        superficie = valorSuperficie;
        direccion = valorDireccion;
        salonCasa = new SalonCasa(objetoSalon.getNumeroTv(), objetoSalon.getTipoSalon());//Cuando declaro de esta manera me genera error
        cocina = new CocinaCasa();//Al declarar de esta manera no presenta errores
    }
 
    //Setters de la clase Casa
    public void setSuperficie(double valorSuperficie) { superficie = valorSuperficie; }
    public void setDireccion(String valorDireccion) { direccion = valorDireccion; }
   
    //Setters de otras clases que NO presentan errores
    public void setSalonCasa(SalonCasa objetoSalon) {
        salonCasa = new SalonCasa();
        salonCasa.setNumeroTv(objetoSalon.getNumeroTv());
        salonCasa.setTipoSalon(objetoSalon.getTipoSalon());
    }
    public void setCocina(CocinaCasa objetoCocina) {
        cocina = new CocinaCasa();
        cocina.setEsIndependiente(objetoCocina.getEsIndependiente());
        cocina.setNumeroDeFuegos(objetoCocina.getNumeroDeFuegos());
    }
   
    //Setters de otras clases que presentan errores
    public void setSalonCasa(SalonCasa objetoSalon) {
        salonCasa = new SalonCasa(objetoSalon.getNumeroTv(), objetoSalon.getTipoSalon()); }
    public void setCocina(CocinaCasa objetoCocina) {
        cocina = new CocinaCasa(objetoCocina.getEsIndependiente(), objetoCocina.getNumeroDeFuegos()); }

   
    //Getters
    public double getSuperficie(){ return superficie; }
    public String getDireccion(){ return direccion; }
    public SalonCasa getSalonCasa() { return salonCasa; }
    public CocinaCasa getCocina() {return cocina; }
   
}

Sé que tengo que usar uno de los dos setters para las otras clases, sólo que estoy colocando los dos para poder comprender porque uno si funciona y el otro no, igual al momento de crear el nuevo objeto en el constructor.

Gracias por su ayuda  :)

3
Gracias pedro!!! ;D ;D

La verdad yo pensé que precisamente el código era para que al momento de crear un objeto TaxiCond este automáticamente crearía los objetos Taxi y Persona con sus atributos. No se me ocurrió probar esa solución que me diste  :-[

Gracias nuevamente  ;)

4
Hola buenas noches!

Estoy realizando el ejercicio de ejemplo del tema Pasar objetos como parámetros a un método o constructor Java. Diferenciar objeto y tipo primitivo (CU00642B) y al compilar el código no me genera errores. Sin embargo al intentar crear un objeto de la clase TaxiCond en BlueJ, al introducir los nombres de los objetos Taxi y Persona me aparece Error: cannot find symbol - variable taxi1 y no entiendo porqué.

Aquí les dejo el código de las Clases

De antemano, gracias por la ayuda.

Clase Persona
Código: [Seleccionar]
public class Persona{
    private String nombre;
    private String apellido;
    private int edad;
    private boolean casado;
    private String dni;


    public Persona(){//Constructor 1
        nombre = "";
        apellido = "";
        edad = 0;
        casado = false;
        dni = "";
    }
   
    public Persona (String nombrePersona) {//Constructor 2
        nombre = nombrePersona;
        edad = 0;
    }

    //Setters
    public void setNombre(String valorNombre){ nombre = valorNombre; }
    public void setApellido(String valorApellido){ apellido = valorApellido; }
    public void setEdad(int valorEdad){ edad = valorEdad; }
    public void setCasado(boolean valorCasado){ casado = valorCasado; }
    public void setDni(String valorDni){ dni = valorDni; }
   
    //Getters
    public String getNombre(){ return nombre; }
    public String getApellido(){ return apellido; }     
    public int getEdad(){ return edad; }     
    public boolean getCasado(){ return casado; }     
    public String getDni(){ return dni; }

}

Clase Taxi
Código: [Seleccionar]
public class Taxi {
    private String ciudad;
    private String matricula;
    private String distrito;
    private int tipoMotor; //Tipo de motor asignado a cada objeto taxi. 0 = desconocido, 1 = gasolina, 2 = diesel

    //Constructor 1: sin parámetros
    public Taxi () {
        ciudad = "México D.F.";       
        matricula = "";
        distrito = "Desconocido";
        tipoMotor = 0;
    }
   
    //Constructor 2: constructor con parámetros
    public Taxi (String valorMatricula, String valorDistrito, int valorTipoMotor) {
    ciudad = "México D.F.";
    matricula = valorMatricula;
    distrito = valorDistrito;
    tipoMotor = valorTipoMotor;
    }

//Setters
    public void setMatricula (String valorMatricula) { matricula = valorMatricula; }
    public void setDistrito (String valorDistrito) { distrito = "Distrito " + valorDistrito; }
    public void setTipoMotor (int valorTipoMotor) {  tipoMotor = valorTipoMotor; }

//Getters
    public String getMatricula () { return matricula; }
    public String getDistrito () { return distrito; }
    public int getTipoMotor () { return tipoMotor; }
}

Clase TaxiCond
Código: [Seleccionar]
public class TaxiCond {
    private Taxi vehiculoTaxi;
    private Persona conductorTaxi;
 
    public TaxiCond (Taxi objetoTaxi, Persona objetoPersona){
         vehiculoTaxi = new Taxi (objetoTaxi.getMatricula(), objetoTaxi.getDistrito(), objetoTaxi.getTipoMotor() );
        conductorTaxi = new Persona (objetoPersona.getNombre() );
    }

    //Setter
    public void setMatricula (String valorMatricula){
        vehiculoTaxi.setMatricula(valorMatricula); }

   //Getters
    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; }

}

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".