Проблема с выводом для программы Pig latin

Итак, я новичок в кодировании, и у меня есть некоторые проблемы... Моя программа должна запрашивать у пользователя ввод, и ей нужно будет предположить, что все входные данные в нижнем регистре... и нужно предположить, что нет лишних пробелов, и нужно будет предположить, что он заканчивается точкой. Затем программа переведет текст на поросячью латынь... На всякий случай вам нужны правила для поросячьей латыни: если слово начинается с гласной, добавьте тире и "путь" в конец... В противном случае добавьте тире переместите первую букву в конец и добавьте "ау"... Теперь я знаю, что мой код может быть лучше, но я просто хочу сначала запустить его, а затем изменить его, если мне это нужно. Проблема, с которой я сталкиваюсь, заключается в том, что мой код печатает весь мой текст, но не меняет отдельное слово на свиную латынь. И другой текст также должен быть на латыни свиньи, я вставил код ниже. Так что любая помощь была бы потрясающей... Спасибо.

import java.util.Scanner;
public class PigLat{
   public static void main(String [] args) {

   Scanner scanner = new Scanner(System.in);
   String text, pigLatin;
   char first;

   System.out.print("Enter a line of text: ");
   text= scanner.nextLine();
   first = text.charAt(0);

   if (first == 'a' || first == 'e' || first =='i'||
       first == 'o' || first == 'u')
       pigLatin = text + "-way";

   else
       pigLatin = text.substring(1) + "-" + text.charAt(0) + "ay";

   System.out.println("Input : " + text);
   System.out.print("Output: " + pigLatin);
}
}

Мой вывод:

Введите строку текста: это тест

Ввод: это тест

Вывод: это тест-тай ----jGRASP: операция завершена.


person Frank    schedule 24.06.2015    source источник
comment
как бы я использовал цикл do и while для этого?   -  person Frank    schedule 24.06.2015


Ответы (1)


Вызывайте каждую операцию над каждым отдельным словом. Используйте String[] arr = text.split(" "), и вы получите массив, содержащий все отдельные слова. Затем используйте цикл for и делайте свино-латынь для каждого слова. Наконец, объедините все это обратно в 1 строку, и это ваша свиная латинская строка.

person SexmanTaco    schedule 24.06.2015