1
C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más / Java. Comparar datos tipo String. CU00657B Compila pero no funciona el if
« en: 24 de Noviembre 2016, 20:30 »
Este es mi código. Compila pero no funciona. No realiza el primer "if" por lo que entiendo que su resultado es siempre "false" aun comprobando el contenido de "letra" que es correcto. Aunque sea "a" o "A" su contenido, el "if" siempre es falso. Tengo Java 8 SE. Por favor ayúdenme o aclárenme el por qué no es posible mi código .
Gracias.
Gracias.
Código: [Seleccionar]
import java.lang.String; /** Importa clase String para usar "length", "substring" y "equals" (No es necesario) **/
import java.util.Scanner; /** Importa clase Scanner para usar "nextLine" (No es necesario)**/
public class IntroduceCadenaAnalizoCadena{
public static void main(String[] args){
/**ATRIBUTOS MAIN**/
Scanner texto=new Scanner(System.in);
String teclado="";
String letra="";
int tamaño=0;
/** MENSAJE INSTRUCTIVO PARA EL USUARIO **/
System.out.println("Introduce una cadena de caracteres.\nTe indicaremos si empieza por \"A\" o \"a\" y aproximadamente cuantos carácteres la compone.\nRecuerda: Los espacios y signos son caracteres.\nDAME UNA CADENA:");
/** RECOGIDA POR TECLADO **/
teclado=texto.nextLine();
/** FUNCIÓN: Análisis y respuesta al usuario **/
letra=teclado.substring(0,0);
tamaño=teclado.length();
if(letra=="a"||letra=="A"){ /** COMPARA CADENAS: Se puede simplificar usando (teclado.substring(0)=="a") y suprimiendo la variable (letra) y
lo mismo con la variable (tamaño) usando (teclado.length()<5) pero así se entiende mejor.**/
if(tamaño<5 && tamaño!=0){System.out.println("La cadena introducida tiene menos de 5 carácteres y comienza por \"a\".");}
else if(tamaño>=5 && tamaño<=15 && tamaño!=0){System.out.println("La cadena introducida tiene entre 5 y 15 carácteres y comienza por \"a\".");}
else if(tamaño>15 && tamaño!=0){System.out.println("La cadena introducida tiene más de 15 carácteres y comienza por \"a\".");}
else{System.out.println("Error inesperado :-(");}
}else if(tamaño<5 && tamaño!=0){System.out.println("La cadena introducida tiene menos de 5 carácteres y no comienza por \"a\".");}
else if(tamaño>=5 && tamaño<=15 && tamaño!=0){System.out.println("La cadena introducida tiene entre 5 y 15 carácteres y no comienza por \"a\".");}
else if(tamaño>15 && tamaño!=0){System.out.println("La cadena introducida tiene más de 15 carácteres y no comienza por \"a\".");}
else{System.out.println("No has introducido nada :-(");}
}/** Cierre main **/
}/** Cierre Clase **/