Encontré este código en Internet, le falta la lógica de bucle while "while(i....)" por alguna razón y, aunque encontré otras soluciones que funcionan para el problema de PigLatin*, realmente quiero entender cómo funciona esta.
*Problema de PigLatin: tome una oración, tome la primera letra de cada palabra y colóquela al final de la misma palabra, luego sufije "ay". Así que "Estoy confundido" se convierte en "Iay maay onfusedcay".
Aquí está el código:
import java.util.*; public class PigLatin { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("Please enter an English sentence: "); String sentence = input.nextLine(); System.out.println("Original sentence: "+sentence); System.out.println("PigLatin conversion: "+convert(sentence)); } private static String convert (String sentence) { String []words = sentence.split(" "); int i = 0; String pigLatin = ""; while(i ){ //MISSING CODE pigLatin+=words[i].substring(1,words[i].length())+words[i].charAt(0)+"ay"+" "; i++; } return pigLatin; } }Gracias.
PD: básicamente encontré el método "convertir" en Internet y escribí el resto del código, probé algunas cosas pero no pude hacer funcionar el ciclo while.
El bucle parece estar iterando la matriz de words . Así que debería ser algo como
while(i < words.length) { pigLatin += words[i].substring(1, words[i].length()) + words[i].charAt(0) + "ay "; i++; }import java.util.Scanner; public class PigLatin { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("Please enter an English sentence: "); String sentence = input.nextLine(); System.out.println("Original sentence: "+sentence); System.out.println("PigLatin conversion: "+convert(sentence)); } private static String convert (String sentence) { String []words = sentence.split(" "); int i = 0; String pigLatin = ""; while(i<words.length){ //CORRECTION CODE pigLatin+=words[i].substring(1,words[i].length())+words[i].charAt(0)+"ay"+" "; i++; } return pigLatin; } }