0

Переводчик My Pig Latin переводит только слова. Мне нужно, чтобы переводчик переводил фразы, а также слова. Я попытался пару раз, пытаясь добавить цикл for(), но это не сработало.Как сделать мой переводчик латинского лайнера переводить фразы

Вот код:

import java.util.Scanner; 

public static void main(String[] args) { 
System.out.println("WHAT DO YOU WANT IM TRYING TO SLEEP!!!!\n" 
     + "JUST ENTER WHAT YOU WANT TRANSLATED!!!!! "); 

Scanner keyboard = new Scanner(System.in); 
String phrase = keyboard.nextLine(); 

String[] word = phrase.split(" "); 

for(int i = 0; i < word.length; i++) 
{ 
char firstLetter = (word[i].charAt(0)); 
if (firstLetter == 'a' || firstLetter == 'e' || firstLetter == 'i' ||  
firstLetter == 'o' || firstLetter == 'u') 
{ 
String vowel = word[i] +"way"; 
System.out.print(vowel); 
} 
else 

{ 
String start = word[i].substring(0,1); 
String end = word[i].substring(1,phrase.length()); 
System.out.print(end + start + "ay"); 
} } 
System.out.println("\n" 
     + "NOW LEAVE!!!!!"); 
}} 
+1

Можете ли вы подробно остановиться на «это не сработало»? Это практически ничего не говорит. –

+0

Как весело! Я много лет назад работал переводчиком-лайнером, но не на Java. :) – lurker

ответ

0

высуньте слово код транслятора в функцию, которая принимает в строку и возвращает строку. Затем для очень простой петли выполните:

String result = ""; 
for (String word : phrase.split(" ")) 
{ 
    result += translate(word) + " "; 
} 

Что-то вроде этого поможет вам. В конце вы получите дополнительное пространство, и оно обрабатывает только слова, разделенные пробелами, так что, как я уже сказал, это очень просто. Но это должно заставить вас начать.

+0

Чтобы избежать лишнего места, вы можете использовать регулярный цикл цикла и использовать оператор 'if' (тройной или иначе), чтобы добавить только пространство, если это не последнее слово во фразе. – mbomb007

+0

Я подумал, что было бы лучше дать им понять, что мелочь для себя = P. – Gentatsu

Смежные вопросы