Я новичок в Java, и у нас было задание в нашем классе, которое я не делаю
вполне понятно.
Программа должна переводить введенные слова в Pig Latin. Таким образом, каждое слово, начинающееся с гласного, должно отображаться как «word + lay», а каждое слово, начинающееся с согласного, должно отображаться как «word_without_the_consonant_at_the_beginning + consonant + ay».
Моя проблема в том, что я не понимаю, зачем это нужно
быть включенным Может кто-нибудь объяснить это мне? Тем более что я уже
ввел эти переменные в начале кода.
firstVowelFound = false;
firstIndex = 0;
Зачем мне нужен FirstVowelFound в этом случае? И почему я должен включить это
здесь:
while ((firstIndex < scannedWords.length()) && !firstVowelFound)
Это код, исправленный учителем. Те, что выделены жирным шрифтом те, которые
Я не понимаю. Надеюсь, вы можете помочь мне. Спасибо!!
import java.util.Scanner;
public class PigLatin2
{
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in);
Scanner wordScanner;
String
wordInput = "",
scannedWords = "",
pigLatinWord = "";
int
firstIndex = 0;
char
firstLetter;
boolean
firstVowelFound = false;
while (keyboard.hasNextLine()) //as long as there is input, read input.
{
wordInput = keyboard.nextLine().toLowerCase();
wordScanner = new Scanner(wordInput);
while (wordScanner.hasNext()) //read input to find out the words
{
scannedWords = wordScanner.next();
**firstVowelFound = false;
firstIndex = 0;
//for the following part, the program looks for the first Index of
//each word. If the letters of switch are included, boolean is
//true.
while ((firstIndex < scannedWords.length()) && !firstVowelFound)**
{
firstLetter = scannedWords.charAt(firstIndex);
switch (firstLetter)
{
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
**firstVowelFound = true;**
break;
default:
// no vowel occurred in the word, so look for more words.
firstIndex++;
}
}
/*the following parts create pigLatin Words. When index is 0, all
words starting with a vowel will be word + lay, any other word
will display word with the first letter + ay displayed at the end
of the word */
if (firstIndex == 0)
{
pigLatinWord = scannedWords + "lay";
}
else
{
pigLatinWord = scannedWords.substring(1) +
scannedWords.substring(0,1) + "ay";
}
}
System.out.println("Pig Latin for your entered word is " +
pigLatinWord +
" ");
}
}
}