Código:
class pruebajava {
public static void main(String[]args) {
String mensaje;
String mensaje2;
String nombre = "Normah";
char palabra_clave = 'h';
int nombre_cantidadLetras = nombre.length();
mensaje = (nombre_cantidadLetras >= 7) ? nombre + " tiene 7 o más caractéres": nombre + " tiene menos de 7 caractéres";
System.out.println(mensaje);
mensaje2 = (nombre.equals(palabra_clave)) ? nombre + " posee la letra " + palabra_clave : nombre + " no posee la letra " + palabra_clave;
System.out.println(mensaje2);
}
}
La primera parte de ver si tiene 'x' cantidad de caracteres va bien. Ahora el problema está en el segundo condicional. Yo le indico que busque la palabra_clave (en este caso 'h') en el nombre (en este caso "Normah") y me dice que no existe. Ahora yo me pregunto, ¿por qué no existe si yo veo ahí que si está?.
Bien, ahora comprobé de la siguiente forma:
Código:
class pruebajava {
public static void main(String[]args) {
String mensaje;
String mensaje2;
String nombre = "Normah";
char palabra_clave = 'h';
int nombre_cantidadLetras = nombre.length();
mensaje = (nombre_cantidadLetras >= 7) ? nombre + " tiene 7 o más caractéres": nombre + " tiene menos de 7 caractéres";
System.out.println(mensaje);
mensaje2 = (nombre.equals("Normah)) ? nombre + " posee Normah" : nombre + " no posee Normah";
System.out.println(mensaje2);
}
}
Es decir, comprobando el string completo devuelve bien el valor. Resumiendo:
¿No puedo comparar un String con un char utilizando equals()?. ¿Cómo se solucionaría?. Entiendan que soy novato en este lenguaje y que bueno, quiero sacarme las mayores dudas posibles.
PD: Utilizo Netbeans 6.9.1