【发布时间】:2020-04-30 19:17:53
【问题描述】:
这是我用来将一些文本从猪拉丁语翻译成英语的代码,反之亦然。除了 fromPig 方法似乎无法正常工作。
预期输出:“java 是一门美妙的编程语言,而面向对象编程是切片面包之后最好的东西。”
得到输出:“avajavajay isyisyay ayay onderfulwonderfulway grammingprogrammingpray...”
所以你可以看到单词在里面,但我需要去掉单词末尾的其他部分。如果您能纠正我的错误,请尝试提供代码。
public class PigLatin {
public String fromPig(String pigLatin) {
String res="";
String[] data=pigLatin.split(" ");
for(String word : data)
res += toEnglishWord(word) + " ";
return res;
}
private String toEnglishWord(String word) {
char punc=0;
for(int i=0;i<word.length();i++) {
if(word.charAt(i)=='.'||word.charAt(i)==','||word.charAt(i)==';'||word.charAt(i)=='!') {
punc=word.charAt(i);
break;
}
}
word=word.replace(punc + "","");
String[] data=word.split("-");
String firstPart=data[0];
String lastPart=data[0];
if(lastPart.equals("yay"))
return firstPart + punc ;
else {
lastPart=lastPart.replace("ay","");
return(lastPart+firstPart+punc);
}
}
}
这是需要执行语句的类。
public class Convert {
public static void main(String args []) {
PigLatin demo=new PigLatin();
String inEnglish="Now is the winter of our discontent " +
"Made glorious summer by this sun of York; " +
"And all the clouds that lour'd upon our house " +
"In the deep bosom of the ocean buried.";
String inPigLatin="avajay isyay ayay onderfulway ogrammingpray " +
"anguagelay, andyay objectyay orientedyay ogrammingpray " +
"isyay hetay estbay ingthay afteryay icedslay eadbray.";
System.out.println(demo.toPig(inEnglish));
System.out.println(demo.fromPig(inPigLatin));
}
}
基本上英文句子需要转成pig latin,pig latin句子需要转成英文。
英语到猪拉丁语正在正确完成。但是piglatin到英语不是。
【问题讨论】:
标签: java