Autor Tema: Solucion CU00659B - "Java desde cero" bucles while mostrar letras  (Leído 5665 veces)

BryanGeek

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 5
  • La pasión de la programación
    • Ver Perfil
Con la única intención de apoyar, aquí otra solución con el fin de que puedan detectar en que parte su código presente posibles errores

Citar
/*Crea una clase con un método main que pida una entrada de teclado y usando un bucle while,
el método length de la clase String y el método substring de la clase String, muestre cada
una de las letras que componen la entrada. Por ejemplo si se introduce “ave” debe mostrar:

Letra 1: a
Letra 2: v
Letra 3: e */

Código: [Seleccionar]
import java.util.Scanner;
public class TestDelDoWhile {  //Prueba del do ... while curso aprenderaprogramar.com
    public static void main (String [ ] Args) {
        System.out.println("Ingrese una palabra");
        String entrada = "";
        Scanner entradaScanner = new Scanner(System.in);
        entrada = entradaScanner.nextLine();
        int contador = 0 ;
        int i=-1;
        int j=0;
        do {   System.out.println ("Letra " + (contador+1)+ ": " +entrada.substring(i+1,j+1) );
                   contador += 1;
                   i++;j++;
        } while (contador<entrada.length());     }   
}
« Última modificación: 13 de Mayo 2015, 11:17 por Alex Rodríguez »

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2074
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Re:Solucion CU00659B - "Java desde cero"
« Respuesta #1 en: 08 de Mayo 2014, 22:33 »
Hola, el código es correcto. Le veo una cosa mejorable: el código además de funcionar hay que intentar que sea lo más claro y entendible posible. En este caso por ejemplo no veo necesidad de usar una variable i, se podría resolver usando sólo la variable j (lo cual es más simple, cuanto más simple mejor). También hubiera sido posible solucionarlo con un bucle for. Código:

Código: [Seleccionar]
import java.util.Scanner;
public class TestDelDoWhile {  //Prueba del do ... while curso aprenderaprogramar.com
    public static void main (String [ ] Args) {
        System.out.println("Ingrese una palabra");
        String entrada = "";
        Scanner entradaScanner = new Scanner(System.in);
        entrada = entradaScanner.nextLine();
        int contador = 0 ;
        int j=0;
        do {   System.out.println ("Letra " + (contador+1)+ ": " +entrada.substring(j,j+1) );
                   contador += 1;
                   j++;
        } while (contador<entrada.length());     }   
}
Responsable de departamento de producción aprenderaprogramar.com

BryanGeek

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 5
  • La pasión de la programación
    • Ver Perfil
Re:Solucion CU00659B - "Java desde cero"
« Respuesta #2 en: 08 de Mayo 2014, 22:43 »
Cierto, tienes razón. Deberé esforzarme en redactar un código mas legible. Muchas gracias!

heseos

  • Sin experiencia
  • *
  • Mensajes: 15
    • Ver Perfil
Re:Solucion CU00659B - "Java desde cero"
« Respuesta #3 en: 10 de Mayo 2014, 06:09 »
Hola aqui mi codigo, Algo a tomar en cuenta chicos en el ejercicio dice Un bucle while, me pregunte xk no se podía con do while y dude un poco creo deberían aclarar bien eso, ya que aunque ambos son bucles while no es lo mismo. Gracias y buena suerte.

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

public class While{
    public static void main (String []args){
        System.out.print("Introducir texto aqui: ");
        String miScaner = new Scanner (System.in).nextLine();
        int i = 0;
        int j = 0;
        do {
            System.out.println("Letra "+(i+1)+": "+ miScaner.substring(j,j+1));
            i += 1;
            j++;

        } while (i<miScaner.length());

    }

}

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2074
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Re:Solucion CU00659B - "Java desde cero"
« Respuesta #4 en: 10 de Mayo 2014, 22:07 »
Si nos atenemos a responder a lo que pide el enunciado debería hacerse con un while y no con un do while, que aunque tienen similitudes como bien dices no son lo mismo. Saludos,
Responsable de departamento de producción aprenderaprogramar.com

niffxd

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Re:Solucion CU00659B - "Java desde cero" bucles while mostrar letras
« Respuesta #5 en: 28 de Octubre 2017, 20:30 »
Esta es mi solución al ejercicio plateado, creo que es la más corta de las que vi por aquí:

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

public class While{
   
    public static void main(String[] args){
        System.out.print("Introduzca la cadena: ");
        String miEntrada = "";
        Scanner miEscaner = new Scanner(System.in);
        miEntrada = miEscaner.nextLine();
        int i = 0;
        while(i != miEntrada.length()){
            System.out.println("Letra " + (i+1) + ": " + miEntrada.substring(i,i+1));
            i++;
        }
    }
}

 

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