Autor Tema: Método compareTo aplicado a String Pedir datos Java por consola teclado CU00657B  (Leído 2606 veces)

umadara

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 45
    • Ver Perfil
Hola, aqui otro ejercicio, el CU00657B del curso Aprende a programar en Java como si estuvieras en primero:

Código: [Seleccionar]
import java.util.Scanner; //Importación del código de la clase Scanner desde la biblioteca Java

public class contarLetras {
   
        public static void main (String [ ] args) {
            Scanner entradaEscaner = new Scanner (System.in); //Creación de un objeto Scanner
           
            String entradaTeclado = "";
                       
            entradaTeclado = entradaEscaner.nextLine ();
           
            if (entradaTeclado.length() <= 5) {
                System.out.println  ("la cadena tiene menos de 5 carácteres");
            }
           
            else if(entradaTeclado.length() >=6 && entradaTeclado.length() <15) {
                System.out.println  ("la cadena tiene entre 5 y 15 carácteres");
            }
           
            else if (entradaTeclado.length() >15) {
                System.out.println  ("la cadena tiene más de 15 carácteres");
            }
           
            if (entradaTeclado.substring(0,1).compareTo("a") == 0) {
                System.out.println  ("la cadena comienza por la letra a");
            }
           
            else {
                System.out.println  ("la cadena no comienza por la letra a");
            }   
       
        }

}

Espero respuestas y gracias de antemano

Saludos
« Última modificación: 10 de Julio 2016, 17:13 por Alex Rodríguez »

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Re:(CU00657B) Pedir datos en Java por consola (teclado).
« Respuesta #1 en: 01 de Julio 2016, 22:38 »
Está bien el ejercicio; lo que te recomendaría es que pida al usuario que escriba una palabra para saber que se esta ejecutado. Por ejemplo poner este código antes de entradaTeclado.

Código: [Seleccionar]
System.out.println("Ingrese una palabra: ");
« Última modificación: 10 de Julio 2016, 17:11 por Alex Rodríguez »

eduardoc

  • Principiante
  • **
  • Mensajes: 50
    • Ver Perfil
Re:(CU00657B) Pedir datos en Java por consola (teclado).
« Respuesta #2 en: 02 de Julio 2016, 16:27 »
Hola Umadara, cómo estás?

En primer lugar darte las gracias porque estuve un buen rato buscando el motivo por el cual no funcionaba mi comparación con la primer letra. Miré tu resolución y... compareTo() ;)

Yendo a lo que nos trae, me parece que podrían corregirse algunas cosas en tu código, si me permitís...

1. por lo que leo en el código parece que cuando una cadena recibida en entradaTeclado tenga 15 caracteres de longitud no se hace nada y debería emitirse el mensaje "entre 5 y 15"
2. me parece que cuando utilizás "System.out.println" estás devolviendo la frase en dos renglones y creo que debería ser en uno sólo. Acumulando el texto en una variable String para mostrarla al final de las evaluaciones podría ser un modo.
3. Si bien no es grave, me parece que el código no considera al caracter "A", que también es la letra a como indica en la consigna.

Por último y no se si es más por gusto o por optimizar el código. Cuando unis varios if son una especie de filtro.
Es decir, en el orden que lo presentás, en la segunda condición "if(entradaTeclado.length() >=6 && entradaTeclado.length() <15)" no sería necesario preguntar si el valor es >= a 6 ya que esos valores fueron contemplados en el if anterior ("entradaTeclado.length() <= 5") y no llegarían a esta consulta ;)

Saludos,
Edu.

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Re:(CU00657B) Pedir datos en Java por consola (teclado).
« Respuesta #3 en: 02 de Julio 2016, 17:29 »
Tenes razón falta condición esa parte y se puede mejorar la forma que imprime también.

 

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