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

Páginas: [1] 2
1
Tu pregunta tiene todo el sentido, según lo que aprendí podés almacenar el estado de un objeto por ejemplo en un archivo y luego recuperarlo. Eso se llama serialización.

Tu otra pregunta: ¿Es que esos objetos no son "nada"?

Una vez que creas una clase, y la instancias, el resultante es un objeto, no es que "no son nada" o son una clase, o un objeto. Acuérdate que en una clase se definen los atributos y métodos de un objeto, allí se encuentra la definición de todos los objetos que crees. La diferencia entre una clase y un objeto, es que un objeto posee un estado.

¿No quedan en ningún sitio?

Sí, una vez  que ejecutas tu aplicación java, los objetos se encuentran en la JVM (para no ser tán específico), pero una vez que recompilas la clase, los objetos que no hayas serializado o almacenado se pierden. Tratá de investigar más sobre esto en internet.

pd: Yo también lo voy hacer, tratá de averiguar el la documentación oficial Java.

¿No es código Java?

Todo es código java, la diferencia la mencioné mas arriba.

Espero que te haya ayudado. Saludos!

El secreto del éxito es la constancia
Benjamin Disraeli
 

2
Hola a todos, les dejo el ejercicio correspondiente.

"Define una clase Bombero considerando los siguientes atributos de clase: nombre (String), apellidos (String), edad (int), casado (boolean), especialista (boolean). Define un constructor que reciba los parámetros necesarios para la inicialización y los métodos para poder establecer y obtener los valores de los atributos. Compila el código para comprobar que no presenta errores, crea un objeto y comprueba que se inicializa correctamente consultando el valor de sus atributos después de haber creado el objeto."

Código: [Seleccionar]
public class Bombero{
    private String nombre;
    private String apellido;
    private int edad;
    private boolean casado;
    private boolean especialista;
   
   
        public Bombero(String nom, String ape, int edadBombero, boolean estaCasado, boolean esp){
            nombre = nom;
            apellido = ape;
            edad = edadBombero;
            casado = estaCasado;
            especialista = esp;
        }
       
        public String getNombre(){         return nombre;    }
       
        public String getApelllido(){   return apellido;    }
       
        public int getEdad(){     return edad;    }
       
        public boolean getCasado(){   return casado;     }
       
        public boolean getEspecialista(){    return especialista;     }
       
            public void setNombre(String nom){   nombre = nom;       }
           
            public void setApellido(String ape){  apellido = ape;   }
           
            public void setEdad(int edadBombero){  edad = edadBombero;     }
           
            public void setCasado(boolean estaCasado){  casado = estaCasado;    }
           
            public void setEspecialidad(boolean esp){   especialista = esp;  }
         
        }


Saludos.!

3
Buenas gente les dejo el código correspondiente al ejercicio.!

"Considera estás desarrollando un programa Java donde necesitas trabajar con objetos de tipo Motor (que representa el motor de una bomba para mover fluidos). Define una clase Motor considerando los siguientes atributos de clase: tipoBomba (int), tipoFluido (String), combustible (String). Define un constructor asignando unos valores de defecto a los atributos y los métodos para poder establecer y obtener los valores de los atributos. Crea un método tipo función que devuelva un booleano (true o false) denominado dimeSiMotorEsParaAgua() donde se cree una variable local booleana motorEsParaAgua de forma que si el tipo de motor tiene valor 1 tomará valor true y si no lo es tomará valor false. El método debe devolver la la variable local booleana motorEsParaAgua."

Código: [Seleccionar]
public class Motor{
    private int tipoBomba;
    private String tipoFluido;
    private String combustible;

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


    public int getTipoBomba(){
        return tipoBomba;
    }

    public String getTipoFluido(){
        return tipoFluido;
    }

    public String getCombustible(){
        return combustible;
    }

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

        public void setTipoFluido(String tipoFluidoMotor){
            tipoFluido = tipoFluidoMotor;
        }

        public void setCombustible(String combustibleMotor){
            combustible = combustibleMotor;
        }

public boolean dimeSiMotorEsParaAgua(int tipoMotor){
     
      boolean motorEsParaAgua;
     
      if(tipoMotor == 1){
          motorEsParaAgua = true;
        }else
            motorEsParaAgua = false;
            return motorEsParaAgua;

}

}

Gracias.!

4
Buenas Gente les dejo el ejercicio correspondiente, una aclaración: probé con el tipo de dato String en el switch y funciona, parece que se agregó esa funcionalidad, desconozco desde que versión. Gracias.!

Código: [Seleccionar]
public class Motor{

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

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


public int getTipoBomba(){
return tipoBomba;
}

public String getTipoFluido(){
return tipoFluido;
}

public String getCombustible(){
return combustible;
}

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

public void setTipoFluido(String tipoFluidoMotor){
tipoFluido = tipoFluidoMotor;
}

public void setCombustible(String combustibleMotor){
combustible = combustibleMotor;
}

public void dimeTipoMotor(int tipo){

switch(tipo){

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 el tipo de bomba");break;
}
  }
}//



5
Obviamente se lo evita cambiando la condición..(me respondo a mí mismo) cada pregunta que hago.. :o :o :o

6
Buenas Gente les dejo el ejercicio de If else, else If en java.

 "Considera estás desarrollando un programa Java donde necesitas trabajar con objetos de tipo Rueda (que representa a una rueda de un vehículo). Define una clase Rueda considerando los siguientes atributos de clase: tipo (String), grosor (double), diametro (double), marca (String). Define un constructor asignando unos valores de defecto a los atributos y los métodos para poder establecer y obtener los valores de los atributos. Crea un método denominado comprobarDimensiones donde a través de condicionales if realices las siguientes comprobaciones:

a) Si el diámetro es superior a 1.4 debe mostrarse por consola el mensaje “La rueda es para un vehículo grande”. Si es menor o igual a 1.4 pero mayor que 0.8 debe mostrarse por consola el mensaje “La rueda es para un vehículo mediano”. Si no se cumplen ninguna de las condiciones anteriores debe mostrarse por pantalla el mensaje “La rueda es para un vehículo pequeño”.

b) Si el diámetro es superior a 1.4 con un grosor inferior a 0.4, ó si el diámetro es menor o igual a 1.4 pero mayor que 0.8, con un grosor inferior a 0.25, deberá mostrarse por consola el mensaje “El grosor para esta rueda es inferior al recomendado”."

 


Código: [Seleccionar]
public class Rueda
{
   
   
    private String tipo;
    private double grosor;
    private double diametro;
    private String marca;
   
   
        public Rueda(){
           
            tipo = "";
            grosor = 0;
            diametro = 0;
            marca = "";
           
        }
       
        public String getTipo(){
           
            return tipo;
           
        }
       
        public double getGrosor(){
           
            return grosor;
           
        }
       
        public double getDiametro(){
           
            return diametro;
           
        }
       
        public String getMarca(){
           
            return marca;
           
        }
       
            public void setTipo(String tipoRueda){
               
                tipo = tipoRueda;
               
            }
           
           
            public void setGrosor(double grosorRueda){
               
                grosor = grosorRueda;
               
            }
           
            public void setDiametro(double diametroRueda){
               
                diametro = diametroRueda;
               
            }
           
            public void setMarca(String marcaRueda){
               
                marca = marcaRueda;
               
            }
           
       public void comprobarDimensiones(){
           
           if(diametro > 1.4){
           
              System.out.println("La rueda es para un vehiculo Grande");
                   
                    if(diametro <= 1.4 && diametro > 0.8){
                   
                        System.out.println("La rueda es para un vehiculo mediano");
                   
                     }else{
                   
                           System.out.println("La rueda es para un vehiculo 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");
                           
                        }
                       
                    }
           
         
    }

Al ejecutar el método comprobarDimensiones(), cuando deseo que se ejecute el último if, obviamente me imprime el contenido del primer " if ", ya que el diámetro es mayor a 1.4. Ya que tienen la primera condición igual. ¿Cómo puedo evitar esto? . Lo primero que se me ocurre es cambiar la condición del último if. 

7
Buenas Gente les dejo mi solución acerca del ejercicio mencionado.

 "Dadas las variables de tipo int con valores A = 5, B = 3, C = -12 indicar si la evaluación de estas expresiones daría como resultado verdadero o falso:"

a) A > 3                                        b) A > C                                               c) A < C

d) B < C                                           e) B != C                                               f) A == 3

g) A * B == 15                                 h) A * B == -30                                    i) C / B < A

j) C / B == -10                                k) C / B == -4                                   l) A + B + C == 5

m) (A+B == 8 ) && (A-B == 2)                     n) (A+B == 8 ) || (A-B == 6)

o) A > 3 && B > 3 && C < 3                                 p) A > 3 && B >= 3 && C < -3


Solución:

a) Verdadero
b) Verdadero
c) Falso
d) Falso
e) Verdadero
f) Falso
g) Verdadero
h) Falso
i) Verdadero
j) Falso
k) Verdadero
l) Falso
m) Verdadero
n) Verdadero
o) Falso
p) Verdadero

8
Bueno Gente les dejo mi solución al ejercicio planteado.

Código: [Seleccionar]

/**
 * Write a description of class Medico here.
 *
 * @author (your name)
 * @version (a version number or a date)
 */
public class Medico
{
    private String nombre;
    private String apellido;
    private int edad;
    private boolean casado;
    private String numeroDocumentoIdentidad;
    private String especialidad;
   
   
        public Medico(){
           
            nombre = "Desconocido";
            apellido = "Desconocido";
            edad = 0;
            casado = false;
            numeroDocumentoIdentidad = "Vacio";
            especialidad = "Desconocido";
           
           
        }
       
        //Getters
        public String getNombre(){
       
            return nombre;
        }
       
        public String getApellido(){
           
            return apellido;
           
        }
       
        public int getEdad(){
         
            return edad;
           
        }
       
        public boolean getCasado(){
     
            return casado;
        }
       
        public String getNumeroDocumentoIdentidad(){
         
            return numeroDocumentoIdentidad;
           
        }
       
        public String getEspecialidad(){
           
            return especialidad;
        }
           
            //Setters
            public void setNombre(String nom){
               
                nombre = nom;
               
            }
           
            public void setApellido(String ape){
             
                apellido = ape;
            }
           
            public void setEdad(int edadPersona){
         
                edad = edadPersona;
               
            }
           
            public void setCasado(boolean estadoCivil){
               
                casado = estadoCivil;
               
            }
           
            public void setNumeroDocumentoIdentidad(String dni){
             
                numeroDocumentoIdentidad = dni;
            }
           
            public void setEspecialidad(String esp){
               
                especialidad = esp;
               
            }
           
        public void calculoParaMultiploEdad(){
           
            int res;
           
            res = getEdad()%5;
           
            res = 5-res;
           
            System.out.println("El medico de nombre "+ getNombre() +" con especialidad "+ getEspecialidad() +" tendrá una edad multiplo de cinco dentro de "+ res +" años");
       
        }

}

Gracias,!

9
Había pensado, lo mismo. Estaba por incluirlos en los setters..pero bueno..! Ahh y con respecto a las variables, en tu caso el valor, se pierde al sobreescribirlo ¿claro esta..no? Yo lo hice pensando, en que el valor anterior pueda ser utilizado en otro proceso.¿Me explico?

10
Gracias...Jorge..!! por tus consejos..!!

11
Bueno gente les dejo el ejercicio, que al final lo resolví de la manera en yo me lo había planteado.!

Código: [Seleccionar]
public class Medico
{
//Atributos
    private String nombre;
    private String nomAnt;
    private String apellido;
    private String apeAnt;   //Atributos en donde almaceno el estado anterior
    private int edad;
    private int edadAnt;
    private boolean casado;
    private boolean casadoAnt;
    private String numeroDocumentoIdentidad;
    private String numeroAnt;
    private String especialidad;
    private String espAnt;
   
    //Constructor
        public Medico(){
           
            nombre = "Desconocido";
            apellido = "Desconocido";
            edad = 0;
            casado = false;
            numeroDocumentoIdentidad = "Vacio";
            especialidad = "Desconocido";
           
           
        }
        //Getters
        public String getNombre(){
       
            System.out.println("El nombre del medico "+ nomAnt+ " ha cambiado por: " +nombre);
            return nombre;
        }
       
        public String getApellido(){
           
System.out.println("El apellido "+ apeAnt +" del medico llamado "+ nombre +" ha cambiado por: " +apellido);
            return apellido;
           
        }
       
        public int getEdad(){
            System.out.println("La edad "+ edadAnt +" del medico llamado "+ apellido +" "+ nombre +" ha cambiado por: " +edad);
            return edad;
           
        }
       
        public boolean getCasado(){
            System.out.println("El estado civil "+ casadoAnt +" del medico "+ nombre + " ha cambiado por: " +casado);
            return casado;
        }
       
        public String getNumeroDocumentoIdentidad(){
            System.out.println("El numero de documento "+ numeroAnt +" del medico " +nombre+ " ha cambiado por: " +numeroDocumentoIdentidad);
            return numeroDocumentoIdentidad;
           
        }
       
        public String getEspecialidad(){
            System.out.println("La especialidad "+ espAnt + " del medico "+ nombre +" ha cambiado por: " +especialidad);
            return especialidad;
        }
//Setters
            public void setNombre(String nom){
                nomAnt = nombre;
                nombre = nom;
               
               
            }
           
            public void setApellido(String ape){
                apeAnt = apellido;
                apellido = ape;
            }
           
            public void setEdad(int edadPersona){
                edadAnt = edad;
                edad = edadPersona;
               
            }
           
            public void setCasado(boolean estadoCivil){
                casadoAnt = casado;
                casado = estadoCivil;
               
            }
           
            public void setNumeroDocumentoIdentidad(String dni){
                numeroAnt = numeroDocumentoIdentidad;
                numeroDocumentoIdentidad = dni;
            }
           
            public void setEspecialidad(String esp){
                espAnt = especialidad;
                especialidad = esp;
               
            }         
}

Gracias.!

12
Gracias por las correcciones, !!

13
Según el enunciado del problema que dice así.
"Por ejemplo si cambia la especialidad del médico, debe aparecer un mensaje que diga: “Ha cambiado la especialidad del médico de nombre … . La nueva especialidad es: …”. Compila el código para comprobar que no presenta errores, crea un objeto, usa sus métodos y comprueba que aparezcan correctamente los mensajes por consola."[...]

Yo pensé utilizar alguna estructura de selección, pero como todavía no se vió dichas estructuras en el curso, como desafío sería correcto poder solucionarlo sin utilizar ninguna de ellas. ¿Sería correcto? ..Gracias.!

14
Les dejo mi interpretación del ejercicio.

Código: [Seleccionar]
public class DiscoMusical
{
   
    //Atributos
   
    //  ...
   
   
    //Constructor
   
    //  ...
   
    //Getters y Setters
   
    //  ...
   
        //Métodos
   
        public String CargaDuracPistas(String nombrePista){
           
            /**
             * 2)
             * Siempre que el método devuelva algo, es tratado como una función, en este caso
             * las duraciones se almacenarán en el atributo correspondiente, suponiendo que exista un
             * límite con respecto a las duraciones de las canciones podría retornar un mensaje indicando que se
             * superó el límite.
             */
        }
   
        public void CalculaTotalDurac(){
           
            /**
             * 3)
             * Procedimiento.
             *
             * Solamente calcula el total de duraciones, de las canciones y posteriormente puede
             * almacenarlo en alguna variable local o de instancia.
             */
        }
       
        public void getDiscTime(){
           
            /**
             * 1)
             * En este caso, es un procedimiento, ya que no necesita devolver ningún valor,
             * la duración de la canción podría obtenerla del atributo específico de la clase.-
             */
        }
       
        public void AgregarCancion(String tituloCancion, float durac){
           
            /**
             * 4)
             * Procedimiento.
             * Funcionaría pidiendo los parámetros al usuario y resolviendo la posición de
             * la canción.
             *
             * Supongamos que sea una función, podría avisar al usuario, que las canciones fueron
             * agregadas correctamente como valor de retorno.
             */
       
        }
       
    }//

Gracias.!!  ;)

15
Gracias.. a todos .. en realidad ya tengo una base de java, pero me falta más práctica, y estuve un tiempo alejado. Por este motivo, comencé el curso y además me apasiona ..todo lo que tenga que ver con la programación.! :) :) ;)



Pd: Creo que este es uno de los foros mas activos..! Hay otros que no contestan nada.!
Cualquier cosa que necesiten a su disposición.!

16
Ya está, solucionado resulta que le puse el mismo nombre que el atributo..y entonces no me actualizaba.!

//Atributos
   private String nombre;
   private String apellido;
   private int edad;
   private boolean casado;
   private int numeroDocumentoIdentidad;

....

   //Métodos para establecer los valores de los atributos
    public void setNombre(String nombre){
       
        nombre = nombre;
       
    }

Un error básico y no me dí cuenta..que cabeza !!!  ;) ;D ;D

17
Ahí le encontré un error, en el método getNumeroDocumentoIdentidad, le había puesto Indentidad y me funcionó, pero en los demás setters, como por ej: el nombre, el apellido, y la edad, sigue sin permitirme modificarlos !!

18
Buenas gente, estoy trabajando en bluej y probando un poco los metodos Get y Set, y tengo un problema.
Cuando realizo una carga de atributos, verifico si realmente asigna a las variables de instancia, con el metodo get, y me muestra el que tenía (valor) el constructor al momento de construir dicho objeto.O sea mal llamado "por defecto" me entienden.

Analizando la situación, esto no es correcto, ya que verifiqué la clase y no existen errores. Me pregunto si me funciona correctamente el Bluej.? o algo de mi sistema?

Les dejo el codigo de prueba.

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



    //Constructor
   
    public Persona(){
       
        nombre = "Desconocido";
        apellido = "Desconocido";
        edad = 0;
        casado = false;
        numeroDocumentoIdentidad = 0;
       
    }
   
        //Métodos para establecer los valores de los atributos
    public void setNombre(String nombre){
       
        nombre = nombre;
       
    }
   
    public void setApellido(String apellido){
       
        apellido = apellido;
       
    }
   
    public void setEdad(int edad){
       
        edad = edad;
       
    }
   
    public void setCasado(boolean casado){
       
        casado = casado;
       
    }
   
    public void setNumeroDocumentoIdentidad(int documento){
       
        numeroDocumentoIdentidad = documento;
       
    }
   
        //Métodos para obtener los valores de los atributos
       
        public String getNombre(){
           
            return nombre;
           
        }
       
        public String getApellido(){
           
            return apellido;
           
        }
       
        public int getEdad(){
           
            return edad;
           
        }
       
        public boolean getCasado(){
           
            return casado;
           
        }
       
        public int getNumeroDocumentoIndentidad(){
           
            return numeroDocumentoIdentidad;
           
        }
       
       
    }//Cierre clase


pasando en limpio, no me "setea" con los nuevos valores..

Muchas Gracias.!

Pd: Voy a probar hasta que funcione y les aviso.!

19
Gente dejo mi código, de la práctica a ver que opinan!

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



    //Constructor
   
    public Persona(){
       
        nombre = "Desconocido";
        apellido = "Desconocido";
        edad = 0;
        casado = false;
        numeroDocumentoIdentidad = 0;
       
    }
   
        //Métodos para establecer los valores de los atributos
    public void setNombre(String nombre){
       
        nombre = nombre;
       
    }
   
    public void setApellido(String apellido){
       
        apellido = apellido;
       
    }
   
    public void setEdad(int edad){
       
        edad = edad;
       
    }
   
    public void setCasado(boolean casado){
       
        casado = casado;
       
    }
   
    public void setNumeroDocumentoIdentidad(int documento){
       
        numeroDocumentoIdentidad = documento;
       
    }
   
        //Métodos para obtener los valores de los atributos
       
        public String getNombre(){
           
            return nombre;
           
        }
       
        public String getApellido(){
           
            return apellido;
           
        }
       
        public int getEdad(){
           
            return edad;
           
        }
       
        public boolean getCasado(){
           
            return casado;
           
        }
       
        public int getNumeroDocumentoIndentidad(){
           
            return numeroDocumentoIdentidad;
           
        }
       
       
    }//Cierre clase
       
       

Gracias.!

20
Según tengo entendido, al momento de declarar una variable, si no se inicializa explícitamente, java las inicializa por defecto, en el caso de los tipos primitivos por ejemplo el int, con  el valor 0. Los tipos referencia con el valor NULL.

No entiendo esta parte de la explicación.

"El hecho de declarar una variable implica que se reserva un espacio de memoria para ella, pero no que ese espacio de memoria esté ocupado aunque pueda tener un contenido por defecto." [...]

¿alguna sugerencia?
 Gracias.!

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