Fixed a long vowel bug
This commit is contained in:
parent
b63900b888
commit
728eb7620a
@ -72,20 +72,12 @@ public class RomajiHenkan {
|
|||||||
|
|
||||||
private String replaceDashMarkerWithLongVowel(String string) {
|
private String replaceDashMarkerWithLongVowel(String string) {
|
||||||
String resultStr = string;
|
String resultStr = string;
|
||||||
for (int i = 1; i < string.length(); i++) {
|
resultStr = resultStr.replace("a-", "ā");
|
||||||
char currentCharacter = string.charAt(i);
|
resultStr = resultStr.replace("i-", "ī");
|
||||||
char previousCharacter = string.charAt(i - 1);
|
resultStr = resultStr.replace("u-", "ū");
|
||||||
if (currentCharacter == '-' && isRomanVowel(previousCharacter)) {
|
resultStr = resultStr.replace("e-", "ē");
|
||||||
switch(previousCharacter) {
|
resultStr = resultStr.replace("o-", "ō");
|
||||||
case 'a': resultStr = string.replace("a", "ā");
|
|
||||||
case 'i': resultStr = string.replace("i", "ī");
|
|
||||||
case 'u': resultStr = string.replace("u", "ū");
|
|
||||||
case 'e': resultStr = string.replace("e", "ē");
|
|
||||||
case 'o': resultStr = string.replace("o", "ō");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
resultStr = resultStr.replace("-", "");
|
|
||||||
return resultStr;
|
return resultStr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,4 +40,9 @@ public class ConvertToKanaTest {
|
|||||||
assertEquals("ko nakatta", henkan.convert("来なかった"));
|
assertEquals("ko nakatta", henkan.convert("来なかった"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test() {
|
||||||
|
System.out.println(henkan.convert("思い通りに行かなくて プツリ黙りこくる"));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user