Autor Tema: Respuesta?-->¿Qué es una clase java? Atributos (propiedades o campos) CU00623B  (Leído 4388 veces)

Trunks

  • Sin experiencia
  • *
  • Mensajes: 14
    • Ver Perfil
Bueno este es mi primer ejercicio y me dice BlueJ que no encuentran la variable ciudad y no entiendo qeu pasa:


Código: [Seleccionar]
public class Persona {
    String Nombre;
    String Apellidos;
    String Ciudad;
    String numeroDocumentoIdentidad;
    int Edad;
 
    //Constructor: cuando se cree un objeto taxi se ejecutará el código que incluyamos en el constructor
    public Persona () {
        [color=red]ciudad[/color] = "Madrid";       
        aficiones = "";
        distrito = "Desconocido";
       
    } //Cierre del constructor … el código continúa …
 
    //Método para establecer la matrícula de un taxi
    public void setnumeroDocumentoIdentidad (String valornumeroDocumentoIdentidad) {
        numeroDocumentoIdentidad = valornumeroDocumentoIdentidad;
    } //Cierre del método
    //Método para establecer el distrito de un taxi
    public void setDistrito (String valorDistrito) {
        distrito = "Distrito " + valorDistrito;
    } //Cierre del método
    public void setEdad (int valorEdad) {
        tipoEdad = valorEdad;
    } //Cierre del método
   
    public String getNombre () { return nombre; } //Cierre del método
 
    public String getApellidos () { return apellidos; } //Cierre del método
 
    public String getCiudad () {return ciudad;}//Ciere del método
   
    public int getEdad () { return Edad; } //Cierre del método
   
} //Cierre de la clase
« Última modificación: 23 de Mayo 2014, 17:45 por Ogramar »


Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2662
    • Ver Perfil
Hola, para pegar código pulsa el icono # del editor del foro de este modo te aparecen unas etiquetas [ code ] ... [ / code] y entre esas dos etiquetas debes pegar el código y luego pulsar previsualizar para comprobar que se vea bien.

El problema lo tienes en que estás declarando String Ciudad; donde Ciudad lleva mayúsculas y después estás escribiendo ciudad = "Madrid" donde ciudad está escrito con mayúsculas.

Para Java no es lo mismo ciudad con minúsculas que con mayúsculas, tienes que escribirlo siempre de la misma forma (o bien con mayúscula o bien con minúscula)...


Trunks

  • Sin experiencia
  • *
  • Mensajes: 14
    • Ver Perfil
Y por que me dice que esto está mal:

Código: [Seleccionar]
public void setEdad (int valorEdad) {
        tipoEdad = valorEdad;


Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2662
    • Ver Perfil
Estás escribiendo tipoEdad = valorEdad;

pero según el código que pusiste antes la variable no se llama tipoEdad sino Edad, por tanto deberías escribir simplemente edad = valorEdad; (ó Edad = valorEdad; si estás usando mayúsculas).

Jorge lopez

  • Sniper
  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 248
  • @SniperOfElite
    • Ver Perfil
Hola! a continuación pondré unos comentarios en los errores que pude encontrar en tu código.

Código: [Seleccionar]
//**tienes declaradas variables cuyo nombre empiezan con letras mayúsculas y otras con letras minúsculas, mi consejo es que las declares todas empezando de la
    misma forma, ya sea empezando en mayúscula o en minúscula, aunque esto no afecta, siempre y cuando tengas pendiente la forma en como declaraste la variable para el resto del
    desarrollo del código, es mas practico si las declaras todas de igual forma.*/

public class Persona {
    String Nombre;
    String Apellidos;
    String Ciudad;
    String numeroDocumentoIdentidad;
    int Edad;

    //Constructor: cuando se cree un objeto taxi se ejecutará el código que incluyamos en el constructor
    /**Tu comentario en el constructor debería decir: cuando se cree un objeto (Persona)se ejecutará el código que incluyamos en el constructor
     * ya que estas desarrollando una clase tipo Persona y no tipo Taxi, en el desarrollo de este
    as empleado una variable que se correspondería mas a una clase tipo Taxi y no tipo Persona, como es: distrito.*/

    public Persona () {
        [color=red]ciudad[/color] = "Madrid"; /**Aquí el error es que as escrito: ciudad, cuando as declarado: Ciudad, debes tener presente
        exactamente como as declarado una variable. También el código que empleas para intentar cambiar el color del valor de ciudad, dará lugar a error de compilación,
        hasta el momento no tengo un aporte para como cambiar el color a una cadena String*/   
        aficiones = ""; // aficiones es una variable que no as declarado en la clase, ni en un método por tanto generara error.
        distrito = "Desconocido";

    } //Cierre del constructor … el código continúa …

    //Método para establecer la matrícula de un taxi. Aquí el comentario debería ser: Método para establecer el numeroDocumentoIdentidad de la persona.
    public void setnumeroDocumentoIdentidad (String valornumeroDocumentoIdentidad) {// luego de valor, la variable debe empezar con letra mayuscula: (String valorNumeroDocumento...)
        numeroDocumentoIdentidad = valornumeroDocumentoIdentidad; // luego de valor, la variable debe empezar con letra mayúscula: (... = valorNumeroDocumentoIdentidad)
    } //Cierre del método
    //Método para establecer el distrito de un taxi
    public void setDistrito (String valorDistrito) {
        distrito = "Distrito " + valorDistrito;
    } //Cierre del método
    public void setEdad (int valorEdad) {
        tipoEdad = valorEdad; // tipoEdad no es una variable que ayas declarado, la sintaxis debería ser: Edad = valorEdad;
    } //Cierre del método

    /**Aquí el único de los 4 getters que se compilara sin error sera el getter getEdad, porque para los demás getters estas indicando un return con variables no declaradas
    en java no es lo mismo nombre que Nombre, el simple cambio de una letra mayúscula o minúscula dará lugar a errores de compilación*/
    public String getNombre () { return nombre; } //Cierre del método

    public String getApellidos () { return apellidos; } //Cierre del método

    public String getCiudad () {return ciudad;}//Ciere del método

    public int getEdad () { return Edad; } //Cierre del método

} //Cierre de la clase

Una forma correcta de desarrollar tu código basado en una clase tipo Persona seria la siguiente:

Código: [Seleccionar]
public class Persona {
    String nombre;
    String apellido;
    String ciudad;
    String numeroDocumentoIdentidad;
    int edad;

    //Constructor: cuando se cree un objeto Persona se ejecutará el código que incluyamos en el constructor
    public Persona () {
        nombre = "";
        apellido = "";
        ciudad = "Madrid";     
        numeroDocumentoIdentidad = "";
        edad = 0;

    } //Cierre del constructor … el código continúa …

    //Método para establecer el nombre
    public void setNombre (String valorNombre) {
        nombre  = valorNombre;
    } //Cierre del método
    //Método para establecer el apellido
    public void setApellido (String valorApellido) {
        apellido = "Apellido " + valorApellido;
    } //Cierre del método
    //Método para establecer la ciudad
    public void setCiudad(String valorCiudad){
        ciudad = valorCiudad;
    }//Cierre del metodo
    //Método para establecer el numeroDocumentoIdentidad
    public void setNumeroDocumentoIdentidad(String valorNumeroDocumentoIdentidad){
        numeroDocumentoIdentidad = valorNumeroDocumentoIdentidad;
    }//Cierre del metodo
    //Método para establecer la edad
    public void setEdad (int valorEdad) {
        edad = valorEdad;
    } //Cierre del método
    //Metodo getters
    public String getNombre () { return nombre; } //Cierre del método

    public String getApellido () { return apellido; } //Cierre del método

    public String getCiudad () {return ciudad;}//Ciere del método
   
    public String getNumeroDocumentoIdentidad(){return numeroDocumentoIdentidad;}//Cierre del metodo

    public int getEdad () { return edad; } //Cierre del método

} //Cierre de la clase

Saludos!
while(estesVivo)
{
  aprende();
  ayuda();
  enseña();
}
if(mueres){teRecordaran();}

 

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