Autor Tema: EJERCICIO CU00657B Pedir datos en Java por consola (teclado) ejemplo Scanner  (Leído 2805 veces)

urdaneta88

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 6
    • Ver Perfil
Este ejercicio me tomo un poco mas de tiempo sobre todo para resolver como comparar la primera letra y saber si era igual a "a" pero creo que pude resolver.

Saludos.

Código: [Seleccionar]
import java.util.Scanner; //Importación del código de la clase Scanner desde la biblioteca Java
//Código de nuestra clase principal ejemplo aprenderaprogramar.com
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); //Creación de un objeto Scanner
        entradaTeclado = entradaEscaner.nextLine (); //Invocamos un método sobre un objeto Scanner
       
        String entradaCortada = entradaTeclado.substring(0,1);//cortamos el String ingresado por pantalla y agarramos solo la primera letra
        int primeraLetraA = entradaCortada.compareTo("a");///comparamos esa letra agarrada en el paso anterior con la letra "a" para ver si son iguales, si el numero resultante es 0 quiere decir que son iguales.
       
        if(entradaTeclado.length()<5){ //si la cadana ingresada tiene menos de 5 caracteres va a entrar por este condicional
            System.out.print("La cadena introducida tiene menos de 5 caracteres");
            if(primeraLetraA==0){  ///comprobamos que la orimera letra es "a" si el valor de primeraLetraA es igual a 0
                System.out.print(" y comienza por la letra a");
            }else{
                System.out.print(" y no comienza por la letra a");
            }
        }else if(entradaTeclado.length()>=5 && entradaTeclado.length()<16){// si la cadena es mayor o igual a 5 y menor a 16 va a entrar por este condicional
            System.out.print("La cadena introducida tiene entre 5 y 15 caracteres");
            if(primeraLetraA==0){
                System.out.print(" y comienza por la letra a");
            }else{
                System.out.print(" y no comienza por la letra a");
            }
        }
        else{
            System.out.print("La cadena introducida tiene mas de 15 caracteres");//si la cadena no entra en ninguno de los otros condicionales quiere decir que tiene mas de 15 caracteres
            if(primeraLetraA==0){
                System.out.print(" y comienza por la letra a");
            }else{
                System.out.print(" y no comienza por la letra a");
            }
        }
       
    } //Cierre del main
} //Cierre de la clase

« Última modificación: 13 de Marzo 2015, 08:55 por Alex Rodríguez »

toni_apr

  • Avanzado
  • ****
  • Mensajes: 497
  • Curiosidad, es uno de los pilares del Conocimiento
    • Ver Perfil
Re:EJERCICIO CU00657B, Pedir datos en Java por consola(teclado).
« Respuesta #1 en: 12 de Marzo 2015, 23:41 »
Hola urdaneta

Ejercicio correcto. Bien.

Quiero apuntar pero dos cosas para mejorar el código
Primera
El método compare de la clase String tiene un vecino: compareToIgnoreCase que responderá igual tanto si las letras son mayúsculas o minúsculas.
Ahora tu codigo discrimina entre 'A' y 'a'

Segunda
Tu código tiene muchos if y else if. Estoy seguro que puedes reducirlos.
Un código compacto es siempre más eficiente.

Saludos

 

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".