Foros aprenderaprogramar.com
		Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: manu37 en 08 de Noviembre 2017, 10:53
		
			
			- 
				Buenos días compañeros, he realizado el ejercicio del curso "Aprender a programa Java desde cero / Bucle For en Java (CU00658B)
 
 Enunciado:
 
 Crea un a clase con método main que pida una entrada de teclado y usando un bucle for, 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.
 
 
 import java.util.*;
 
 public class TestFor {
 
 public static void main(String[] args) {
 
 Scanner teclado= new Scanner(System.in);
 
 String palabra="";
 
 System.out.println("Ingrese una palabra: ");
 
 palabra = teclado.nextLine();
 
 
 for(int i=0; i<palabra.length(); i++) {
 
 System.out.println(palabra);
 
 }
 for(int i = 0; i<palabra.length(); i++) {
 
 System.out.println(palabra.substring(i, i+1));
 
 
 }
 
 }
 
 }
 Gracias por todo
 
 saludos
- 
				Hola manu37
 
 Solo una pequeña corrección.
 Te sobra esta parte del código:
 for(int i=0; i<palabra.length(); i++) {
 
 System.out.println(palabra);
 
 }
 Esto lo que hace es mostrar la palabra entera, tantas veces como sea su longitud.
 Es decir, si la palabra fuese: "avion"
 
 En pantalla saldría esto:
 avion
 avion
 avion
 avion
 avion
 
 
 Así que ese bucle for puedes borrarlo sin más.
 
 El siguiente bucle, sí es correcto y es el único que necesitas para cumplir el enunciado:
 
 for(int i = 0; i<palabra.length(); i++) {
 
 System.out.println(palabra.substring(i, i+1));
 
 
 }
Esto, para "avion" te daría este resultado:
 a
 v
 i
 o
 n
 
 Aunque puedes mejorarlo un poco así:
 
 for(int i = 0; i<palabra.length(); i++) {
 
 System.out.println("Letra " + i+1 + ": " + palabra.substring(i, i+1));
 
 
 }
 Esto te mostraría en pantalla:
 
 Letra 1: a
 Letra 2: v
 Letra 3: i
 Letra 4: o
 Letra 5: n
 
 Cualquir posible duda que puedas tener, no dudes en preguntar.
 
 Un saludo.