gpt4 book ai didi

java - 翻译器只接受一个词,为什么不接受其余的

转载 作者:行者123 更新时间:2023-11-30 03:41:53 25 4
gpt4 key购买 nike

我正在尝试创建一个将英语翻译成 PigLatin 的程序。我拥有大部分组件,但如果我输入多个单词,它只会翻译第一个单词。问题出在哪里以及如何解决。

public class PigLatin{
public static String translate(String phrase){
String [] returnArray=phrase.split(" ");
String [] translateArray=new String [returnArray.length];
for(int i=0;i<returnArray.length;i++){
translateArray[i]=translateWord(returnArray[i]);
}

return StringLib.join(translateArray, " ");//translated Array
}
public static String translateWord(String word) {
String tword=word;
int indexVowel=indexOfFirstVowel(tword);
if(indexOfFirstVowel(tword)==0){
tword=tword+"yay";
}
else {
tword=tword.substring(indexOfFirstVowel(tword),tword.length())+tword.substring(0,indexOfFirstVowel(tword))+"ay";
}
return tword;
}
public static int indexOfFirstVowel(String word) {//check where the first vowel is
String vowels = "aeiouy";
String loweredWord=word.toLowerCase();
for (int index=0;index<loweredWord.length();index++){
if(vowels.contains(String.valueOf(loweredWord.charAt(index)))){
return index;
}
}
return -1;
}


public static void main(String [] args){
Scanner inp=new Scanner(System.in);
System.out.println("Please enter a phrase:");
String trans=translate(inp.next());
System.out.println("Here is your phrase in Pig Latin.");
System.out.println(trans);


}

String.join 将数组转换为字符串,代码如下

public class StringLib {

public static String join(String[] strs, String sep) {
String joined = "";

if (strs.length > 0) {
joined = strs[0];
for (int i = 1; i < strs.length; i++) {
joined = joined + sep + strs[i];
}
}

return joined;
}

最佳答案

main 方法中更改此行

 String trans = translate(inp.next());

进入

 String trans = translate(inp.nextLine());

关于java - 翻译器只接受一个词,为什么不接受其余的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26661889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com