Foros aprenderaprogramar.com
		Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: diabolicgs en 04 de Noviembre 2015, 13:00
		
			
			- 
				Buenos dias. Es mi primer post, a ver si lo hago bien. Os paso el codigo del problema para que me le echeis un vistazo cuando podais;
 
 import java.util.Scanner;
 
 public class OperacionCadenas {
 public static void main (String [] args){
 System.out.println ("Introduzca una cadena de caracteres, por favor");
 String cadenaIntroducida ="";
 Scanner entradaScanner = new Scanner (System.in);
 cadenaIntroducida = entradaScanner.nextLine();
 int longitudCadena = 0;
 longitudCadena = cadenaIntroducida.length();
 if (longitudCadena>15){
 System.out.println ("La cadena introducida tiene mas de 15 caracteres");}
 else {if ( longitudCadena <5){
 System.out.println ( "La cadena introducida tiene menos de 5 caracteres");
 } else System.out.println ("La cadena introducida tiene entre 5 y 15 caracteres");
 }
 String letraComienzo = "";
 letraComienzo = cadenaIntroducida.substring (0,1);
 if (letraComienzo == "a"){
 System.out.println ("La cadena comienza con a");
 }else { System.out.println ("La cadena NO comienza por a");
 }
 }
 }
 Le he dado mil vueltas y he probado varias cosas, incluso sacando una impresion para ver el valor que adquiere la variable letraComienzo, pero no entiendo donde esta el fallo. No consigo que letraComienzo == "a" salga true, asique el if no entra a la primera instruccion y nunca me devuelve "La cadena comienza con a"...
 
 Muchas gracias! Haceis una gran labor de enseñanza  :)
 
- 
				En java para comparar cadenas se usa equals no se usa == por eso no te funciona 
 seria como algo asi.
 
 Observación: IgnoreCase es para que compare igual si es mayúscula o minúscula (daría igual que fuera de una manera u otra).
 
 if (letraComienzo.equalsIgnoreCase("a")){
 System.out.println ("La cadena comienza con a");
 }else { System.out.println ("La cadena NO comienza por a");
 }
- 
				Ok, ahora si va. Muchas gracias!.