Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Pasandav en 08 de Octubre 2015, 02:12

Título: Comprobar si palabra empieza por una letra startswith Java Ejercicio CU00657B
Publicado por: Pasandav en 08 de Octubre 2015, 02:12
Hola. Antes de nada, agradecer el curso. Me parece increíble y creo que estoy aprendiendo a perderle el miedo a esto de la programación (solo un poco)  ;).
Envío código para ver que me podes decir.

Gracias de nuevo!!

Código: [Seleccionar]
import java.util.Scanner;
/**
 * @author (David Martinez)
 * @version (0.1 08-10-2015)
 */
public class TestPrograma1
{
   public static void main (String [] args)
   {
       System.out.println("Empezamos el programa");
       System.out.println("Por favor introduzca una cadena por teclado:");
       String entradaTeclado = "";
       Scanner entradaEscaner = new Scanner (System.in); // Creacion del un objeto Scanner
       entradaTeclado = entradaEscaner.nextLine (); //Invocamos un método sobre un objeto Scanner.
       /*
        * Variable booleana que comprueba que el 'primer caracter' en 'minusculas' comienza con la letra "a"
        */
       boolean empiezaConA = entradaTeclado.substring(0).toLowerCase().startsWith("a");
   
       if (entradaTeclado.length()<5 )
       {
           System.out.println("La cadena introducida tiene menos de 5 caracteres"); 
       }
       else if (entradaTeclado.length()>4 && entradaTeclado.length()<16 )
       {
           System.out.println("La cadena introducida tiene entre 5 y 15 caracteres")
       }
       else
       {
           System.out.println("La cadena introducida tiene mas de 15 caracteres");
       }
       
       if (empiezaConA == true)
       {
           System.out.print(" y empieza por a");
       }
       else
       {
           System.out.print(" y no empieza por a");
       }
   }
}
Título: Re:Pedir datos en Java por consola - CU00657B
Publicado por: pedro,, en 09 de Octubre 2015, 18:38
Hola Pasandav.

En tu resolución, no haces uso del método substring.

Usas esta linea:
Código: [Seleccionar]
boolean empiezaConA = entradaTeclado.substring(0).toLowerCase().startsWith("a");
colocando substring(0) lo que le estás diciendo es que coja la palabra entera, así que si dejas la linea de esta otra forma:
Código: [Seleccionar]
boolean empiezaConA = entradaTeclado.toLowerCase().startsWith("a");
El resultado seguirá siendo el mismo.

Aquí tienes un ejercicio bien resuelto que podrías usar para entenderlo bien, https://www.aprenderaprogramar.com/foros/index.php?topic=2873.msg13102#msg13102

Saludos.
Título: Re:Pedir datos en Java por consola - CU00657B
Publicado por: Pasandav en 09 de Octubre 2015, 19:02
Gracias por la respuesta... Esto es más difícil que "remar en un botijo"  :o.

A seguir estudiando!!!
Título: Re:Pedir datos en Java por consola - CU00657B
Publicado por: pedro,, en 09 de Octubre 2015, 22:44
Ya verás como no  ;D


Cualquier duda que tengas, no dejes de exponerla.

Saludos.