Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: manu37 en 08 de Noviembre 2017, 12:54

Título: Java repetir un proceso cierto número de veces usando bucle while CU00659B
Publicado por: manu37 en 08 de Noviembre 2017, 12:54
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;
}



}

}
}
Título: Re:Java repetir un proceso cierto número de veces usando bucle while CU00659B
Publicado por: Alex Rodríguez en 30 de Enero 2018, 18:28
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
Título: Re:Java repetir un proceso cierto número de veces usando bucle while CU00659B
Publicado por: carlacinquemani en 21 de Marzo 2018, 16:32
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));}
}
}
}
}