gpt4 book ai didi

java - 如何将用户输入的字符串转换为 pig 拉丁语?

转载 作者:行者123 更新时间:2023-11-30 07:58:07 28 4
gpt4 key购买 nike

我正在尝试将以辅音开头的用户输入的字符串转换为“ pig 拉丁语”,将所有辅音移动到单词的末尾,直到单词以元音开头,然后在单词的末尾添加“ay” 。我有一个 for 循环应该执行此操作,但由于某种原因,它什么也不输出。我在这里做错了什么?我很难过。

代码如下:

import java.util.Scanner;

public class two {
public static void main(String[] args) {

System.out.println("Please enter a word");
Scanner word = new Scanner(System.in);
String pigLatin = word.nextLine();
while (!pigLatin.equalsIgnoreCase("quit")) {
if (isVowel(pigLatin.charAt(0))) {
pigLatin = (pigLatin + "way");
System.out.println(pigLatin);
}
else {
for (int i = 0; i < pigLatin.length(); i++) {
char firstChar = pigLatin.charAt(0);
pigLatin = pigLatin.substring(1);
pigLatin = pigLatin + firstChar;
if (i >= pigLatin.length())
{
pigLatin = pigLatin + "ay";
System.out.println(pigLatin);
}
}

}

System.out.println("Please enter a word");
pigLatin = word.nextLine();
}
word.close();

}

private static boolean isVowel(char ch) {
char v = Character.toLowerCase(ch);
if (v == 'a' || v == 'e' || v == 'i' || v == 'o' || v == 'u') {
return true;
}

else {
return false;
}

}

}

最佳答案

您需要在 i 上使用小于或等于 <=,否则 i 永远不会大于或等于 pigLatin.length()。

                for (int i = 0; i <= pigLatin.length(); i++) {
char firstChar = pigLatin.charAt(0);
pigLatin = pigLatin.substring(1);
pigLatin = pigLatin + firstChar;
if (i >= pigLatin.length())
{
System.out.println(pigLatin);
}
}

关于java - 如何将用户输入的字符串转换为 pig 拉丁语?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32363785/

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