Autor Tema: practica CU00657B Pedir datos por consola (Teclado) en Java.  (Leído 3356 veces)

BelCrow

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 46
  • Técnico en Redes (CCNA-IT).
    • Ver Perfil
practica CU00657B Pedir datos por consola (Teclado) en Java.
« en: 11 de Septiembre 2014, 01:24 »
Después de muchas pruebas y de decidir investigar un poco.. aquí el ejercicio, favor verificar!.

VerificadoDeEntradas:

Código: [Seleccionar]
//importacion de API's
import java.lang.String; //no es necesario pero aqui esta!
import java.util.Scanner;

//clase
public class VerificadoDeEntradas {
    //sin variables y sin constructor

    //metodo Main
    public static void main (String[]args) {
        System.out.println ("Escriba la palabra que sera verificada:");

        //variables locales
        Scanner entradaPorTeclado = new Scanner (System.in);
        String palabraIntroducida = entradaPorTeclado.nextLine ();
        int contadorDeLetras = palabraIntroducida.length ();
        String verificadorPrimeraLetra = palabraIntroducida.substring (0,1);

        //if y else con los System.out.println
        if (contadorDeLetras > 5 && contadorDeLetras < 15 && verificadorPrimeraLetra.equals("a") || contadorDeLetras > 5 && contadorDeLetras < 15 && verificadorPrimeraLetra.equals("A")) {
            System.out.println ("La cadena "+ palabraIntroducida +" tiene entre 5 y 15 caracteres y comienza por \"a\" o por \"A\".");
        } else {

            if (contadorDeLetras > 5 && contadorDeLetras < 15 && verificadorPrimeraLetra != "0") {
                System.out.println ("La cadena "+ palabraIntroducida +" tiene entre 5 y 15 caracteres y no comienza por \"a\".");
            } else {

                if (contadorDeLetras < 5 || contadorDeLetras > 15) {

                    //abriendo in if dentro de otro if
                    if (verificadorPrimeraLetra.equals("a") || verificadorPrimeraLetra.equals("A")) {
                        System.out.println ("La cadena "+ palabraIntroducida +" no tiene entre 5 y 15 caracteres y comienza por \"a\" o por \"A\".");
                    } else {                 
                        System.out.println ("La cadena "+ palabraIntroducida +" no tiene entre 5 y 15 caracteres y no comienza por \"a\" o por \"A\".");
                    }
                } else {}
            }
        }
    }//cierre de main
}//cierre de clase

Esta muy largo el código, pero asi fue como pude hacerlo y ademas cumple con lo que dice el mandato (creo).

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

Ejemplo: se pide la entrada y el usuario introduce “vereda”. Por pantalla se debe mostrar: “La cadena introducida tiene entre 5 y 15 caracteres y no comienza por a”.
« Última modificación: 11 de Septiembre 2014, 01:26 por BelCrow »
public lenguajePoderoso () {
          java = "poder";
       }

Jorge lopez

  • Sniper
  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 248
  • @SniperOfElite
    • Ver Perfil
Re:practica CU00657B Pedir datos por consola (Teclado) en Java.
« Respuesta #1 en: 11 de Septiembre 2014, 17:56 »
 Hola  BelCrow!

He verificado tu código y te comento que se puede notar que tienes dominio de lo que se necesita para realizar este ejercicio, sin embargo.

No estas diseñando un código que se corresponda con lo requerido en el enunciado del ejercicio, aun cuando empleas correctamente los métodos equals length y substring.

A continuación te dejo tu código editado (no completo) con lo necesario para que te enfoques en lo que pide el ejercicio, también e usado lo que es el condicional "if" con "else if".
Te sugiero que analices este nuevo código y que rediseñes tu código según lo que se pide.
 
Código: [Seleccionar]
//importacion de API's
import java.util.Scanner;
//clase
public class VerificadoDeEntradas
{
    //sin variables y sin constructor

    //metodo Main
    public static void main (String[]args)
    {
        System.out.println ("Escriba la palabra que sera verificada:");

        //variables locales
        Scanner entradaPorTeclado = new Scanner (System.in);
        String palabraIntroducida = entradaPorTeclado.nextLine ();
        int contadorDeLetras = palabraIntroducida.length();
        String primeraLetra = palabraIntroducida.substring (0,1);

        //if con else if, System.out.println
       if(contadorDeLetras<5 && primeraLetra.equals("a") || contadorDeLetras<5 && primeraLetra.equals("A"))
       { //Aqui concatenamos la primera letra de la cadena escrita, sea "a" o "A"------------|             |
         System.out.println("La Cadena Tiene Menos De 5 Caracteres y Comienza Por La Letra: " + primeraLetra);
       }
        else if(contadorDeLetras>=5 && contadorDeLetras<=15 && primeraLetra.equals("a") || contadorDeLetras>=5 && contadorDeLetras<=15 &&
        primeraLetra.equals("A"))
       {
          System.out.println("La cadena tiene entre 5 y 15 caracteres y comienza con la letra: " + primeraLetra);
       }
        else if(contadorDeLetras>15 && primeraLetra.equals("a") || contadorDeLetras>15 && primeraLetra.equals("A"))
       {
          System.out.println("La cadena tiene mas de 15 caracteres y comienza con la letra: " + primeraLetra);
       }
       else if(contadorDeLetras<5 && primeraLetra != "a" || contadorDeLetras<5 && primeraLetra != "A")
       {
         System.out.println("La Cadena Tiene Menos De 5 Caracteres y no comienza Por La Letra: a");
       }
    }       
}

Cualquier duda no dudes en preguntar.
Saludos!
« Última modificación: 11 de Septiembre 2014, 18:10 por Sniper »
while(estesVivo)
{
  aprende();
  ayuda();
  enseña();
}
if(mueres){teRecordaran();}

Cabanota

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 26
    • Ver Perfil
Re:practica CU00657B Pedir datos por consola (Teclado) en Java.
« Respuesta #2 en: 14 de Octubre 2014, 09:15 »
Una sugerencia ahí, analizando los códigos jeje..
Podrían ahorrarse un trabajo extra que tienen allí si utilizan este método de la clase String, por ejemplo: 
if(contadorDeLetras<5 && primeraLetra.equalsIgnoreCase("a"))...

con ese: .equalsIgnoreCase("a"),, ignora  cual sea el caso, ya sea "a" o sea "A".. con ese método te ahorras trabajo.

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