Autor Tema: CU00657B Pedir datos en Java por consola (teclado). Escape backslash. System.out  (Leído 2649 veces)

Lorenzo31

  • Avanzado
  • ****
  • APR2.COM
  • Mensajes: 381
    • Ver Perfil
Solución del ejercicio.

 Crea una clase con un método main que pida una entrada de teclado y usando condicionales, el método length de la clase String y el método substring de la clase String, muestre un mensaje indicando:

a) Si la cadena introducida tiene menos de 5 caracteres, entre 5 y 15 caracteres o más de 15 caracteres.

b) Si la cadena introducida comienza por la letra a.

Primero, he tenido que utilizar el metodo texto.equals("a") para poder comparar textos porque con == no me lo detectaba.
He intentado controlar la no introduccion de cadena de texto alguna con un do while

Código: [Seleccionar]
import java.util.Scanner;

public class VerificadorCadena{
   
    public static void main (String[] args){
        String texto = "";
        int largoCadena = 0;
        String primeraA = "";
       
        do{
        System.out.println("Introduce una cadena de texto ");
        Scanner sc = new Scanner(System.in);
        texto = sc.nextLine(); }
        while (texto.equals(""));
       
        largoCadena = texto.length();
       
        //Comprobar si la primera letra es la letra A
        if(texto.substring(0,1).equals("a") || texto.substring(0,1).equals("A")){
            primeraA = "SI";
        }else{ primeraA = "NO";}
       
        if ( largoCadena < 5 ){
           System.out.println("La cadena introducida tiene menos de 5 carácteres y la primera letra " + primeraA + " es la a");
        } 
        else if ( largoCadena >= 5 && largoCadena <= 15 ){
          System.out.println("La cadena introducida tiene entre 5 y 15 carácteres y la primera letra " + primeraA + " es la a");
        }
        else { System.out.println("La cadena introducida tiene más de 15 carácteres y la primera letra " + primeraA + " es la a");
        }
       
    }  //Cierre del Main
} //Cierre de clase
       
       




toni_apr

  • Avanzado
  • ****
  • Mensajes: 497
  • Curiosidad, es uno de los pilares del Conocimiento
    • Ver Perfil
Hola Lorenzo

Ejercicio correcto.

Está bien que tus programas controlen lo que introduce el usuario.
Aunque parezca mentira, los programas bien hechos incorporan mucho código para chequear las acciones de quien utiliza el programa.

Apunte para mejorar el código:
La línea:
   if(texto.substring(0,1).equals("a") || texto.substring(0,1).equals("A"))
se puede simplificar utilizando el método equalsIgnoreCase(String) que da la misma respuesta para mayúsculas que para minúsculas. Ejem.
    if(texto.substring(0,1).equalsIgnoreCase("a"))

Saludos

Lorenzo31

  • Avanzado
  • ****
  • APR2.COM
  • Mensajes: 381
    • Ver Perfil
Apuntado en mi libreta ;) gracias toni como siempre por el tiempo dedicado y los consejos.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".