Autor Tema: Java repetir un proceso cierto número de veces usando bucle while CU00659B  (Leído 15659 veces)

manu37

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 32
    • Ver Perfil
Buenos días compañeros. He realizado  el ejercicio del curso Aprendiendo a programar desde cero / Bucle while (CU00659B)

El enunciado dice:

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 de forma vertical:

Código:

Código: [Seleccionar]
import java.util.*;
public class TestWhile {

public static void main(String[] args) {

Scanner teclado = new Scanner(System.in);

int i = 0;

String palabra = "";

System.out.println("Ingrese una palabra: ");

palabra = teclado.nextLine();

int resultado = palabra.length();


while (i<resultado) {

i = i + 1;

int numeroPalabras = i-1;

String caracteres = palabra.substring(numeroPalabras, numeroPalabras+1);

System.out.println(("Letra " + i + " : " + caracteres));

if( i==resultado) {
break;
}



}

}
}
« Última modificación: 30 de Enero 2018, 18:24 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola manu37, para poner título a los temas es conveniente que lo hagas siguiendo las indicaciones que se dan en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Un bucle while debe controlarse (en general) a través de su condición de entrada. No es adecuado introducir condicionales de salida "anormal" del bucle, como

if( i==resultado) {
   break;
}

Se suele considerar mejor programación evitar este tipo de salidas de los bucles.

Otra cosa que resulta extraña en tu código es usar int numeroPalabras para declarar una variable que en realidad no representa un número de palabras sino otra cosa. El nombre de una variable debe ser descriptivo de qué hace o qué contiene esa variable.

Este programa, aunque funcione, deberías corregirlo para que el código sea de más calidad. Puedes consultar otras propuestas de solución a este ejercicio en el foro para orientarte.

Saludos

carlacinquemani

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 4
    • Ver Perfil
Hola! cómo están? quería dejarles un ejemplo de mi código en dónde además de las letras, conté los espacios, teniendo en cuenta el número que le correspondía a la letra siguiente al espacio. Está de más decir que queda sujeto a crítica y corrección. Gracias. Saludos

Código: [Seleccionar]
package Pruebas;

import java.util.Scanner;

public class TestPrograma3 {
public static void main (String [ ] args) {
System.out.println ("Empezamos el programa");
System.out.println ("Por favor introduzca una cadena por teclado:");
String entradaTeclado = new String();
entradaTeclado="";

Scanner entradaEscaner = new Scanner (System.in);
entradaTeclado = entradaEscaner.nextLine ();

int n=entradaTeclado.length();
int e=1;
int c=0;

for(int i=1;i<=n;i++){
int b=i;
int a=(b-1);

if(entradaTeclado.substring(a,b).equals(" ")){
System.out.println("Espacio "+e);
e++;
c=1;
}
else{
if(c==1 && i!=1){System.out.println("Letra "+(i-1)+": "+entradaTeclado.substring(a,b));}
else {System.out.println("Letra "+(i)+": "+entradaTeclado.substring(a,b));}
}
}
}
}
« Última modificación: 01 de Julio 2018, 16:32 por Alex Rodríguez »

 

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