Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: BigHelmet7 en 03 de Julio 2013, 15:40

Título: tipos de variables java ejercicio no me sale
Publicado por: BigHelmet7 en 03 de Julio 2013, 15:40
Hola a todos,

soy nuevo en este foro y hace pocos días empecé el curso de java desde cero, pero me he quedado parado en el "Ejemplo de uso de tipos de variables". Lo que pasa es que al intentar realizar el ejercicio y crear una variable tengo un fallo que no me deja hacer el compile.

Sería de mucha ayuda si me corrigierais:
 /*PRINCIPIO DE VARIABLES*/

public class Variables {
   
    String Admitido;
       
    String  Subir;
   
    String Bajar;

    //comienzo del constructor
    public Variables(){
       
        Admitido="Se ha admitido el valor";
       
        Subir="El personaje se moverá una casilla hacía arriba";
       
        Bajar="El personaje se moverá una casilla hacía abajo";
   
    } //fin del primer constructor
   
    //Primera Variable utilizando el If
   
    public void setAdmitido (String Admitido){
       
        Admitido= "";
       
            //if else sencillo

            if ( Admitido == true) {

            System.out.println ("Se ha admitido el valor");

        } else {

            System.out.println ("No se ha admitido el valor");

        }
    }
}
           
Título: Re:Donde esta el fallo al escribir en esta variable
Publicado por: javi in the sky en 03 de Julio 2013, 17:08
El problema está en que se ha declarado una variable como si fuera una cadena de texto, la variable Admitido, mientras que después se trata de hacer la comparación if (Admitido == true).
Esta comparación no es válida, porque las cadenas de texto solo se pueden comparar con cadenas de texto y no con palabras clave como true. Tendrías dos opciones, o declarar la variable como booleana o hacer la comparación if (Admitido == "true") donde las comillas indican que se trata de una cadena de texto. En realidad sería más correcto if (Admitido.equals("true")))
Aquí te dejo el código declarando la variable como booleana que es lo que veo mas logico y así sí funciona:

Código: [Seleccionar]
/*PRINCIPIO DE VARIABLES*/

public class Variables {

    // CAMBIO String Admitido;
    boolean Admitido;

    String  Subir;
    String Bajar;

    //comienzo del constructor
    public Variables(){

        //CAMBIO Admitido="Se ha admitido el valor";
        Admitido = true;
        Subir="El personaje se moverá una casilla hacía arriba";
        Bajar="El personaje se moverá una casilla hacía abajo";
    } //fin del primer constructor

    //Primera Variable utilizando el If

    public void setAdmitido (boolean Admitido){

        //if else sencillo
        if ( Admitido == true) {
            System.out.println ("Se ha admitido el valor");
        } else {System.out.println ("No se ha admitido el valor");}
    }
}
Título: Re:Donde esta el fallo al escribir en esta variable
Publicado por: BigHelmet7 en 05 de Julio 2013, 20:04
Muchas gracias ! me has ayudado muchooo  :D ahora podre seguir avanzando xD