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 - Papipanchi

Páginas: 1 [2]
21
Gracias Jorge.

Imprimí el código de la clase Taxi para ver si encontraba algo y vi un comentario antes del  constructor en el que aparecía lo mismo que en la ventana de crear el objeto y entonces comprendí que se pueden poner comentarios en el código para que aparezcan en dicha ventana.

De todas formas estoy deseando llegar a la unidad 680

Gracias de nuevo.

Saludos  ;) ;)

22
Gracias Toni_apr por tu respuesta.

Lo que comentas ya lo sabía pero no le he dado importancia porque como la finalidad del ejercicio era ver la relación de uso entre clases, pues no he creado ninguno de los dos métodos.

Comentarte que soy una persona que le da muchas vueltas a las cosas y que no hago nada a lo loco. Cuando hago algo necesito saber siempre "el porque" y el "para que" no me basta el que una cosa se haga de una forma porque si y ya esta. Ten por seguro que si el ejercicio hubiese tenido otra finalidad ya hubiera puesto un mensaje preguntando porque no estaban creados los setters y los getters.

De todas formas gracias por el comentario puesto que tienes toda la razón, tomaré por costumbre crear siempre dichos métodos.

Saludos  ;) ;) ;) ;)



23
Hola Papipanchi

Por del texto del mensaje y la imagen adjuntada supongo que te refieres a la clase de ejemplo que figura en la lección CU00641B.

No incluyes código. ¿Te funciona el código?

La imagen que has enviado, tu la llamas mensaje, pero para mí es la ventana donde BlueJ te pregunta que nombre le quieres dar al objeto que estás creando (en este caso un taxi)

Me sorprende que hagas esta pregunta. Parece como si no hubieras creado ningún objeto de todas las clases que has ido creando en los ejercicios anteriores.
Si es así, solo creas las clases y no compruebas que funcionan correctamente. Esta es la primera cosa para hacer al crear una clase nueva.

Retoma la entrega CU00620B, ahí se explica como crear objetos en la ventana de BlueJ

Saludos

Gracias por atender el mensaje toni_apr

Primero decirte que no es nada correcto tu pensamiento. Compruebo todos y cada uno de los ejercicios y ejemplos del curso ya que si no fuese así no me serviría para nada, ademas  yo estoy realizando el curso para aprender a programar y no tiene ningún sentido que yo mismo me engañe.
Dicho esto te aclaro el motivo de mi mensaje porque posiblemente no haya sabido explicar que es lo que me parece extraño, dando lugar a tu pensamiento.
Evidentemente ese pantallazo que adjunto es el que sale cuando vas a crear un objeto de una clase, pero este en concreto contiene un mensaje o una información,  que no contienen ninguno de los que he creado hasta el momento, es el siguiente:
//Asignación de contenido, inicialización de una variable
//Es importante y recomendado para un buen estilo de programación.
Concretamente esta clase Taxi está relacionada con la clase TaxiCond y mi pregunta era que si ese mensaje que sale tiene que ver con dicha situación o no, y si no tiene nada que ver, quisiera saber porque en esta clase aparece y en las demás no.
Cuando intento crear un objeto de la clase persona, que también está relacionada con la clase TaxiCond, no me aparece dicho mensaje. A ver si me sabéis decir porque aparece eso.

Gracias también a ti Jorge Lopez.

Saludos  :) :) :) :) :)

24
Hola a todos.

Aquí estoy de nuevo aportando el resultado del ejercicio CU00641 para ver si alguien me dice si está o no correcto.

Pienso que si puesto que lo he probado y funciona.

Saluuuudos!!!!!

Código: [Seleccionar]
//Ejercicio CU00641

public class CocinaCasa {
   
    private boolean esIndependiente;
    private int numeroDeFuegos;
   
    //Constructor
    public CocinaCasa (){
        esIndependiente=false;
        numeroDeFuegos=0;
    }
}

Código: [Seleccionar]
//Ejercicio CU00641

public class SalonCasa {
   
  private int numeroDeTelevisores;
  private String tipoSalon;
 
  //Constructor
  public SalonCasa (){
      numeroDeTelevisores=0;
      tipoSalon="Desconocido";
    }
}

Código: [Seleccionar]
//Ejercicio CU00641
public class Casa {
   
    private double superficie;
    private String direccion;
    private SalonCasa salonCasa;
    private CocinaCasa cocina;
       
    //Constructor
    public Casa () {
        superficie=0.00;
        direccion="";
        salonCasa=new SalonCasa ();
        cocina= new CocinaCasa ();
    }
}

25
Buenos días a todos.

Alguien me puede decir porque me sale el mensaje que indico, al crear un nuevo objeto Taxi, después de haber creado la clase TaxiCond con la cual tiene creada una relación?

Mensaje que aparece: //Asignación de contenido, inicialización de la variable
// Es un paso importante y recomendado para un buen estilo de programación

26
Vuelvo a la carga.

Aquí adjunto ejercicio CU00640B para su corrección.

Salu2.

P.D. Y van 3  esta tarde :) :) :) :)

Código: [Seleccionar]
//Ejercicio C00640B
public class Profesor {

    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado;
    private boolean especialista;

    //Constructor 1: recibe parametros para la inicialización
    public Profesor (String valorNombre, String valorApellidos, int valorEdad){
        nombre=valorNombre;
        apellidos=valorApellidos;
        edad=valorEdad;
        casado=false;
        especialista=false;
    }//Cierre del constructor 1

    //Constructor 2: no recibe parametros para la inicialización
    public Profesor (){
        nombre="";
        apellidos="";
        edad=0;
        casado=false;
        especialista=false;
    }//Cierre del constructor 2

    //Método para establecer el nombre del objeto profesor
    public void setNombre (String valorNombre) {
        nombre=valorNombre;
    } //Cierre del método
   
    //Método para establecer los apellidos del objeto profesor   
    public void setApellidos (String valorApellidos) {
        apellidos=valorApellidos;
    } //Cierre del método
   
    //Método para establecer la edad del objeto profesor   
    public void setEdad (int valorEdad) {
        edad=valorEdad;
    } //Cierre del método
   
    //Método para establecer la veracidad o falsedad del estado del objeto profesor   
    public void setCasado (boolean valorCasado) {
        casado=valorCasado;
    } //Cierre del método
   
    //Método para establecer la veracidad o falsedad de la especialización del objeto profesor   
    public void setEspecialista (boolean valorEspecialista) {
        especialista=valorEspecialista;
    } //Cierre del método
   
    //Método para obtener el nombre del objeto profesor   
    public String getNombre () {return nombre;} //Cierre del método
   
    //Método para obtener el apellidos del objeto profesor
    public String getApellidos () {return apellidos;} //Cierre del método
   
    //Método para obtener la edad del objeto proferor
    public int getEdad () {return edad;} //Cierre del método
   
    //Método para obtener la veracidad o falsedad del estado del objeto profesor
    public boolean getCasado () {return casado;} //Cierre del método
   
    //Método para obtener la veracidad o falsedad de la especialización del objeto profesor
    public boolean getEspecialista () {return especialista;} //Cierre del método
}//Cierre de la clase

27
Hola de nuevo.

Adjunto ejercicio CU00639 para que me digáis si está correcto.

Saludos ;) ;) ;) ;)

Código: [Seleccionar]
//Ejercicio CU00639B
public class Bombero {
    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado;
    private boolean especialista;

    //Constructor: Cuando se cree el objeto bombero se ejecutará el código que incluyamos en el constructor   
    public Bombero (String valorNombre, String valorApellidos, int valorEdad){
        nombre=valorNombre;
        apellidos=valorApellidos;
        edad=valorEdad;
        casado=false;
        especialista=false;
    }//Cierre del constructor

    //Método para establecer el estado del objeto bombero
    public void setCasado (boolean valorCasado){
        casado=valorCasado;
    } //Cierre del método

    //Método para establecer la cualificación del objeto bombero
    public void setEspecialista (boolean valorEspecialista){
        especialista=valorEspecialista;
    }

    //Método para obtener el nombre del objeto bombero
    public String getNombre () {return nombre;}//Cierre del método

    //Método para obtener los apellidos del objeto bombero
    public String getApellidos () {return apellidos;} //Cierre del método

    //Método para obtener la edad del objeto bombero
    public int getEdad () {return edad;}//Cierre del método

    //Método para obtener el estado objeto bombero
    public boolean getCasado () {return casado;}//Cierre del método

    //Mëtodo para obtener la cualificación del objeto bombero
    public boolean getEspecialista () {return especialista;}//Cierre del método

}//Cierre de la clase
   
   

28
Buenas tardes a todos.

El puente bien? Espero que así haya sido.

Os adjunto la solución que he dado al ejercicio cu00638B para que me digáis si es correcta.

Un saludo.
Código: [Seleccionar]
//Ejercicio unidad CU00638B

public class OtraClaseMotor {

    private int tipoBomba;
    private String tipoFluido;
    private String combustible;

    public OtraClaseMotor () {
        tipoBomba=0;
        tipoFluido="";
        combustible="";
    }

    public void setTipoBomba (int valorTipoBomba){
        tipoBomba=valorTipoBomba;
    }

                public void setTipoFluido(String valorTipoFluido) {
        tipoFluido=valorTipoFluido;
    }
   
    public void setCombustible (String valorCombustible) {
        combustible=valorCombustible;
    }
   
    public int getTipoBomba (){
        return tipoBomba;
    }
   
    public String getTipoFluido (){
        return tipoFluido;
    }
   
    public String getCombustible (){
        return combustible;
    }
       
    public boolean dimeSiMotorEsParaAgua (){//Metodo para que me diga que el motor es para agua si el tipoBomba=1
        boolean motorEsParaAgua=false;
        if (tipoBomba==1) {motorEsParaAgua = true;}
        return motorEsParaAgua;
    }//Cierre del método
   
}

29
Ok Ogramar.

En general, gracias a todos por las aportaciones y perdonad por el coñazo que os doy

Saludos.

30
Hola Gilding.
Con todo el permiso del mundo, y muchas gracias por los comentarios y aclaraciones.
Entiendo perfectamente que si el método está dentro del set, para poder invocarlo primero tenemos que invocar el set y eso no es nada correcto. Estando de forma independiente se puede invocar siempre que se quiera sin tener que invocar previamente otro método.

Quizá mi problema es que cuando estoy escribiendo el código, de momento se me viene a la cabeza un formulario al cual le tengo que meter datos y eso es lo que me hace pensar erroneamente a la hora de situar los métodos. Es un pensamiento que tengo que olvidar por el momento. No es asi?

Saludos.

31
Gracias de nuevo Ogramar. Entonces el codigo correcto seria el que te adjunto?
Código: [Seleccionar]
//Ejercicio unidad CU00636B

public class Rueda
{
    private String clase;
    private double grosor;
    private double diametro;
    private String marca;

    public Rueda (){
        clase="";
        grosor=0.00;
        diametro=0.00;
        marca="";
    }

    //metodo para establecer el valor de clase
    public void setClase (String valorClase) {
        clase=valorClase;
    }
    //metodo para establecer el valor de grosor
    public void setGrosor (double valorGrosor) {
        grosor=valorGrosor;
    }
    //metodo para establecer el valor de diametro
    public void setDiametro (double valorDiametro) {
        diametro=valorDiametro;
    }
   

    //metodo para establecer el valor de marca
    public void setMarca (String valorMarca) {
        marca=valorMarca;
    }

    //Metodos para devolver los valores de los atributos
    public String getClase () {return clase;}

    public double getGrosor () {return grosor;}

    public double getDiametro () {return diametro;}

    public String getMarca () {return marca;}
   
     public void comprobarDimensiones () {
        if (diametro>1.4) {
            System.out.println ("La rueda es para un vehículo grande");   
        }
        else if (diametro<=1.4 && diametro>0.8) {System.out.println ("La rueda es para un vehículo mediano");
        }
        else {
            System.out.println ("La rueda es para un vehículo pequeño");
        }

        if (diametro>1.4 && grosor<0.4 || diametro<=1.4 &&diametro>0.8 &&grosor<0.25) {System.out.println ("El grosor para esta rueda es inferior al recomendado");
        }
    }
}


32
Entonces se podría introducir el if o el swicth dentro de un set para controlar que el dato que se establece es el correcto de forma automática?

Por ejemplo:
Estoy creando un objeto motorBomba y al establecer el atributo int tipoBomba le puedo indicar varios números dependiendo que tipo de bomba lleve ese motor, por ejemplo el valor 1 que sería bomba de agua. No sería lógico que si el objeto motorBomba que estoy creando no es una bomba de agua, me saltara un mensaje que me lo dijera? como pasa si metemos el if dentro del set?

Como se haría de forma correcta para que saltara el mensaje de forma automática sin estar dentro del set?

Perdona que insista pero no entiendo porque tengo que invocar la instrucción if a parte ya que lo veo un paso innecesario en este caso concreto. A lo mejor en otros casos no porque la información que se ofrece no es en principio relevante para el dato que estoy estableciendo. No se si me explico

En fin, adjunto dos ejercicios que en principio me supongo que no estarán correctos por el tema en cuestión.

Saludos.


Código: [Seleccionar]
//Ejercicio unidad CU00636B

public class Rueda
{
    private String clase;
    private double grosor;
    private double diametro;
    private String marca;

    public Rueda (){
        clase="";
        grosor=0.00;
        diametro=0.00;
        marca="";
    }

    //metodo para establecer el valor de clase
    public void setClase (String valorClase) {
        clase=valorClase;
    }
    //metodo para establecer el valor de grosor
    public void setGrosor (double valorGrosor) {
        grosor=valorGrosor;
    }
    //metodo para establecer el valor de diametro
    public void setDiametro (double valorDiametro) {
        diametro=valorDiametro;
        if (diametro>1.4) {System.out.println ("La rueda es para un vehículo grande");   
        }
        else if (diametro<=1.4 && diametro>0.8) {System.out.println ("La rueda es para un vehículo mediano");
        }
        else {
            System.out.println ("La rueda es para un vehículo pequeño");
        }

        if (diametro>1.4 && grosor<0.4 || diametro<=1.4 &&diametro>0.8 &&grosor<0.25) {System.out.println ("El grosor para esta rueda es inferior al recomendado");
        }
    }

    //metodo para establecer el valor de marca
    public void setMarca (String valorMarca) {
        marca=valorMarca;
    }

    //Metodos para devolver los valores de los atributos
    public String getClase () {return clase;}

    public double getGrosor () {return grosor;}

    public double getDiametro () {return diametro;}

    public String getMarca () {return marca;}
}


Código: [Seleccionar]
//Ejemplo entrega cu00636b
public class Ejercicio_if_else
{
    private String personaje;
    private boolean admitido;
    private int desplazamientoX;
    private int desplazamientoY;
   

    public Ejercicio_if_else () {
        admitido=false;     
        desplazamientoX=0;
        desplazamientoY=0;
    }

    //Metodo para establecer atributo admitido
    public void setAdmitido (boolean valorAdmitido) {
        admitido=valorAdmitido;
        if (admitido==true) {System.out.println ("Se ha admitido el valor");
        }
        else {System.out.println ("No se ha admitido el valor");
        }
    }
   
    public void setDesplazamientoX (int valorDesplazamientoX) {
        desplazamientoX=valorDesplazamientoX;
    }
   
    public void setDesplazamientoY (int valorDesplazamientoY) {
        desplazamientoY=valorDesplazamientoY;
   
    if(desplazamientoX==0&& desplazamientoY==1) {
        System.out.println ("Se procede a bajar el personaje 1 posición");
    }
    else if (desplazamientoX==1&& desplazamientoY==0) {
        System.out.println ("Se procede a mover el personaje 1 posición a la derecha");
    }
    else if (desplazamientoX==-1 && desplazamientoY==0) {
        System.out.println ("se procede a mover el personaje 1 posición a la izquierda");
    }
    else {
        System.out.println ("Los valores no son válidos");
    }
}
}

33
Muchas gracias de nuevo.

Con tu respuesta quedan aclaradas las dudas, lo que hará que a partir de ahora pueda realizar los ejercicios con mayor facilidad y de una forma mas ágil.

Un saludo.

34
Hola Ogramar.
Viendo el resultado que has dado para el ejercicio con la instrucción if, me hago la siguiente pregunta.

No es la instrucción if similar a la instrucción switch?
En caso positivo, porque la instrucción if si va anidada dentro del método set y a mi me dijiste que no se podía meter la instrucción switch dentro de un método set.

Saludos.

35
Hola toni_apr
Estaría bien el código que adjunto.
En caso positivo que ventajas o inconvenientes tendría sobre el que tu has propuesto.
Código: [Seleccionar]
  public void calculoParaMultiploEdad (){
         int resto = edad % 5;
         int n;
         n=5-resto;
        System.out.println("El médicode nombre " + nombre +" con especialidad " + especialidad + " tendrá una edad múltiplo de 5 dentro de " + n + " años");
    }

36
Gracias por responder a mi petición Ogramar.
Adjunto el ejercicio corregido a ver si de esta forma esta bien.
La verdad es que aun no tengo claro donde colocar un método dentro del código ni como denominarlo. La estructuración de una clase conforme se viene viendo desde el inicio del curso es la misma en casi todos los ejercicios y en eso no tengo problema, pero:

a) si se tiene que crear un método diferente a los habituales, por ejemplo éste del que tratamos, o uno para calcular un dato., se coloca después de todos los setter, o después de un set en concreto, o al final de los getter? La verdad que estoy un poco liado. Yo lo he colocado después del método setTipoBomba 

b) todos los métodos tipo procedimiento comienzan por la palabra clave void? 

Espero que me disipes en la medida de lo posible estas dudas que tengo.

Salu2


Código: [Seleccionar]
//Ejercicio unidad CU00637B

public class Motor {

    private int tipoBomba;
    private String tipoFluido;
    private String combustible;

    public Motor () {
        tipoBomba=0;
        tipoFluido="";
        combustible="";
    }

    public void setTipoBomba (int valorTipoBomba){
        tipoBomba=valorTipoBomba;
    }
    public void dimeTipoMotor (){//Metodo para que me diga el tipo motor en función del tipo de bomba
        switch (tipoBomba){
            case 0: System.out.println ("No hay establecido un valor definido para el tipo de bomba");break;
            case 1: System.out.println ("La bomba es una bomba de agua"); break;
            case 2: System.out.println ("la bomba es una bomba de gasolina"); break;
            case 3: System.out.println ("La bomba es una bomba de hormigón"); break;
            case 4: System.out.println ("La bomba es una bomba de pasta alimenticia"); break;
            default: System.out.println ("No existe un valor válido para tipo bomba"); break;
        }
    }
   
            public void setTipoFluido(String valorTipoFluido) {
        tipoFluido=valorTipoFluido;
    }
   
    public void setCombustible (String valorCombustible) {
        combustible=valorCombustible;
    }
   
    public int getTipoBomba (){
        return tipoBomba;
    }
    public String getTipoFluido (){
        return tipoFluido;
    }
    public String getCombustible (){
        return combustible;
    }
}


37
Buenas tardes.

Adjunto ejercicio para que me digáis si está correcto. No he creado el método dimeTipoMotor() de forma independiente, he creado el switch dentro del método void setTipoMotor() de manera que al invocarlo y meter el dato se ejecuta directamente el switch y no tengo que invocarlo aparte. Lo he probado y funciona correctamente.
Código: [Seleccionar]

//Ejercicio unidad CU00637B

public class Motor {

    private int tipoBomba;
    private String tipoFluido;
    private String combustible;

    public Motor () {
        tipoBomba=0;
        tipoFluido="";
        combustible="";
    }

    public void setTipoBomba (int valorTipoBomba){
        tipoBomba=valorTipoBomba;
        switch (tipoBomba){
            case 0: System.out.println ("No hay establecido un valor definido para el tipo de bomba");break;
            case 1: System.out.println ("La bomba es una bomba de agua"); break;
            case 2: System.out.println ("la bomba es una bomba de gasolina"); break;
            case 3: System.out.println ("La bomba es una bomba de hormigón"); break;
            case 4: System.out.println ("La bomba es una bomba de pasta alimenticia"); break;
            default: System.out.println ("No existe un valor válido para tipo bomba"); break;
        }
    }
   
        public void setTipoFluido(String valorTipoFluido) {
        tipoFluido=valorTipoFluido;
    }
   
    public void setCombustible (String valorCombustible) {
        combustible=valorCombustible;
    }
   
    public int getTipoBomba (){
        return tipoBomba;
    }
    public String getTipoFluido (){
        return tipoFluido;
    }
    public String getCombustible (){
        return combustible;
    }
}

38
Hola Alex, es la primera vez que voy a particitar en el foro y no se como hacerlo ya que nunca he participado en ninguno. Estoy siguiendo el curso de Java desde cero y quiero enviar un resultado de un ejercicio para que me digais si es correcto, como lo hago?.
Un saludo.

Páginas: 1 [2]

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".