1
Aprender a programar desde cero / Ejemplo Scanner Java diferencia entre equals y equalsIgnoreCase CU00657B
« en: 09 de Abril 2015, 08:25 »
Buenas!
Consulta: Por qué en la segunda sentencia If cuando se compara la variable caracterA == "A" || caracterA == "a", por más que sea verdadero, da falso y pasa a Else?.
Clase TestMain
De todas formas, buscando en el foro di con la respuesta. No era la idea pero luego de ver que no encontraba la forma de solucionarlo decidí ver resultados de otros usuarios.
Aquí esta bien hecho (de todos modos no se porque de la forma anterior no se resuelve):
TestMain2
Saludos!
Consulta: Por qué en la segunda sentencia If cuando se compara la variable caracterA == "A" || caracterA == "a", por más que sea verdadero, da falso y pasa a Else?.
Clase TestMain
Código: [Seleccionar]
import java.util.Scanner;
public class TestMain {
public static void main (String [ ] args) {
System.out.println ("Introduzca un texto:");
String cadena = "";
String caracterA = "";
Scanner sc = new Scanner (System.in);
cadena = sc.nextLine ();
caracterA = cadena.substring (0,1);
if (cadena.length () < 5) {
System.out.println ("El texto escrito tiene menos de 5 caracteres.");
}else if (cadena.length () >= 5 && cadena.length () <= 15) {
System.out.println ("El texto escrito tiene entre 5 y 15 caracteres.");
}else {
System.out.println ("El texto tiene más de 15 caracteres.");
}
if (caracterA == "A" || caracterA == "a") {
System.out.println ("El texto comienza con el caracter: " + caracterA);
}else {
System.out.println ("El texto no comienza con el caracter A.");
}
System.out.println ("Verifico que el caracter guardado en la variable es \"A\" o \"a\": " + caracterA);
}
}
De todas formas, buscando en el foro di con la respuesta. No era la idea pero luego de ver que no encontraba la forma de solucionarlo decidí ver resultados de otros usuarios.
Aquí esta bien hecho (de todos modos no se porque de la forma anterior no se resuelve):
TestMain2
Código: [Seleccionar]
import java.util.Scanner;
public class TestMain2 {
public static void main (String [ ] args) {
System.out.println ("Introduzca un texto:");
String cadena = "";
String caracterA = "";
Scanner sc = new Scanner (System.in);
cadena = sc.nextLine ();
caracterA = cadena.substring (0,1);
if (cadena.length () < 5) {
System.out.print ("El texto escrito tiene menos de 5 caracteres");
}else if (cadena.length () >= 5 && cadena.length () <= 15) {
System.out.print ("El texto escrito tiene entre 5 y 15 caracteres");
}else {
System.out.print ("El texto tiene más de 15 caracteres.");
}
if (cadena.substring (0,1).equalsIgnoreCase ("a")) {
System.out.println (" y comienza con el caracter " + caracterA + ".");
}else {
System.out.println (" y no comienza con el caracter A/a.");
}
}
}
Saludos!