Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado 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");
}
}
}
-
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:
/*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");}
}
}
-
Muchas gracias ! me has ayudado muchooo :D ahora podre seguir avanzando xD