나는 주어진 단어를 돼지 라틴어로 번역하는 돼지 라틴 번역기를 연구 중이다. 돼지 라틴 방법과 isVowel 방법이 있습니다.piglatin translator java
public static void pigLatin(String s) {
char[] array = s.trim().toCharArray();
if(isVowel(s.charAt(0)) && !Character.toString(s.charAt(0)).equalsIgnoreCase("y")){
System.out.println(s+"way");
}else {
int i = 0;
String toReturn = "";
do {
toReturn += array[i];
i++;
}while(!isVowel(s.charAt(i)) && !Character.toString(array[i]).equalsIgnoreCase("y"));
System.out.println(s.substring(i)+toReturn+"ay");
}
}
public static boolean isVowel(char c) {
char[] vowels = new char[] {'a','e','i','o','u','y'};
for(int i = 0;i<vowels.length;i++) {
if(Character.toString(vowels[i]).equalsIgnoreCase(Character.toString(c))) {
return true;
}
}
return false;
}
"BIrD"및 "quiet"라는 단어를 입력 할 때 문제가 발생합니다. 첫 번째 것은 던졌습니다 java.lang.StringIndexOutOfBoundsException: String index out of range: 4
두 번째 것은 올바르게 변환되지 않습니다. 조용한 지문을 출력 할 때, 그 말은 이해가되지 않습니다. 왜냐하면 당신은 모음까지 모든 상수를 가져 가기로되어 있었기 때문입니다. 그렇다면 그 말은 지저분한 것입니까? 누군가 올바른 방향으로 나를 가리킬 수 있습니까?
참고 : 이것은 숙제가 아닙니다.
* 조용한 인쇄는 uietqay하지만, 당신은 왜 그것을 ietquay됩니다 uietquay 의미한다 모음, 개까지 모두 상수을하기로되어 있기 때문에 그 이해가되지 않습니다? * ** 응? ** 돼지들에게 규칙을 가르쳐달라고 * 너에게 묻고 있니? 프로그램이 프로그램에 부합하는지 확인하기 전에 요구 사항이 무엇인지 확고히 파악하십시오. 우리는 당신에게 당신의 요구 사항을 줄 필요가 없습니다. –
나는 다만 너에게 무슨 일이 일어나고 있는지 설명하고있다 ... 나는 요구 사항이 무엇인지를 안다. 저는 제 의견 '모음에 모든 상수를 가져 가야한다고 생각합니다.'에 분명히 표시했습니다. –
"모든 상수를 모음으로 가져 가야한다고 생각하는 경우"왜 "ietquay"라고 가정합니까? 이 두 문장은 상호 배타적입니다. 둘 다 사실 일 수는 없습니다. 그리고 그 단락에 대해 "명백한"것은 없습니다. –