Нашел этот код в Интернете, по какой-то причине отсутствует логика цикла while «while (i ....)», и хотя я нашел другие рабочие решения проблемы PigLatin *, я действительно хочу понять, как это работает.
* Задача PigLatin: взять предложение, взять первую букву из каждого слова и поместить ее в конец того же слова, затем суффикс «ау». Таким образом, «Я запутался» превращается в «Iay maay onfusedcay».
Вот код:
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;
}
}
Спасибо.
PS: Я нашел в Интернете метод "convert" и написал остальной код, попробовал несколько вещей, но не смог заставить работать цикл while.
2 ответа
Кажется, что цикл повторяет массив words
. Так что это должно быть что-то вроде
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;
}
}
Новые вопросы
java
Java - это язык программирования высокого уровня. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег редко используется отдельно и чаще всего используется вместе с [spring], [spring-boot], [jakarta-ee], [android], [javafx], [hadoop], [gradle] и [maven].