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





Autor


En línea


. Por cierto una pregunta más:
). Y después (String[] args) me recuerda a funciones en donde pasamos parámetros, pero acá no..


. Y por cierto, ¿static?. Estuve leyendo y entendí como que se declara así para compartir valores de una variable pero sinceramente no comprendo bien para que es (hoy lo vi, junto con final que tampoco lo entendí del todo, aunque creo que es para que esa variable no se mueva de esa clase)
