2015-10-15 7 views
1

Надеюсь, что это вам хорошо.Преобразование слов в Pig Latin

Я довольно новичок в Java, а также на этом сайте. Хотя это может показаться длинным, мне нужна помощь только с двумя вещами, поэтому, пожалуйста, помогите, и, как я уже сказал, я новичок во всем этом, поэтому чем тщательнее, тем лучше. Я должен сделать проект, в котором мы должны преобразовать обычные английские слова в латиноамериканский язык. Я пропускаю несколько вещей, которые наш инструктор хочет добавить. его код есть у меня прямо сейчас.

import java.util.Scanner; 
public class PigLatin 
{ 
public static void main(String[] args) 
{ 
Scanner sc = new Scanner(System.in); 
final String vowels = "aeiouAEIOU"; 
System.out.println("Enter your word."); 
String word = sc.nextLine(); 
while (!word.equalsIgnoreCase("done")) 
{ 
String beforVowel = ""; 
int cut = 0; 
while (cut < word.length() && !vowels.contains("" + word.charAt(cut))) 
{ 
beforVowel += word.charAt(cut); 
cut++; 
} 
if (cut == 0) 
{ 
cut = 1; 
word += word.charAt(0) + "w"; 
} 
System.out.println(word.substring(cut) + beforVowel + "ay"); 
System.out.println("Enter your word."); 
word = sc.nextLine(); 
} 
} 
} 

Коды Я не могу показаться Орудие «Если слово не имеет гласный, печать„INVALID“», например, если я типа в bcdfgh в этот код, он читает обратно bcdfgh ау. Но он должен сказать недействительный

еще одна вещь, которую я не могу добавить код для этого: «Если первая гласная - это« u », а буква перед« q », то« u »также идет до конца слово." например, если я ввожу вопрос в этот код, он читает uestionqay. но я хочу, чтобы он сказал estionquay.

пожалуйста и спасибо

+0

Я вижу, что вы отклонили мое редактирование. Почему это? Я просто пытаюсь помочь. –

+0

Им очень жаль, я думал, что эти изменения были сгенерированы компьютером, и одно из изменений полностью изменило то, что я пытался сказать. если бы я знал, что пользователь отредактировал его, я бы никогда не отверг его. извините снова – user10101010

ответ

2

Эй, так что я закодированы что-то для вас ...

import java.util.Scanner; 

public class PigLatin 
{ 
    public static void main(String[] args) 
    { 
     Scanner sc = new Scanner(System.in); 
     System.out.println("Enter your word."); 
     String word = ""; 
     word = sc.nextLine(); 
     do 
     { 
      if(word.length() > 0) 
      { 
       if(containsVowels(word.substring(0,1))) 
       { 
        System.out.println(word+"way"); 
       } 
       else 
       { 
        if(containsVowels(word)) 
        { 
         System.out.println(word.substring(1,word.length())+word.substring(0,1)+"ay"); 
        } 
        else 
         System.out.println("INVALID"); 
       } 
      } 
      System.out.println("Enter your word."); 
     } 
     while(!((word = sc.nextLine()).equalsIgnoreCase("done"))); 
     sc.close(); 
    } 

    public static boolean containsVowels(String word) 
    { 
     String[] vowels = { 
       "a","e","i","o","u" 
     }; 
     for(int i = 0; i < vowels.length; i++) 
     { 
      if(word.contains(vowels[i]) || word.contains(vowels[i].toUpperCase())) 
       return true; 
     } 
     return false; 
    } 
} 

ЭТО НЕ решить вашу проблему для

«одна вещь, я не могу добавить код это «Если первая гласная - это« u », а буква перед« q », то« u »также идет до конца слова». Например, если я ввожу вопрос в этот код, он читает uestionqay, но я хочу, чтобы он сказал estionquay. "

Вы должны попробовать сделать это самостоятельно :) Я могу просмотреть, что вы сделали, чтобы увидеть, будет ли это работать, но я хочу, чтобы вы это попробовали.

+0

большое спасибо. я серьезно не могу поблагодарить вас. Я вернусь к вам после работы над ним еще раз, еще раз спасибо – user10101010

+0

@ user10101010 Нет проблем, если вы хотите, пожалуйста, отметьте это как ответ. – 3kings