Java 将单词转换为拉丁语

Java 将单词转换为拉丁语,java,converter,words,jgrasp,latin,Java,Converter,Words,Jgrasp,Latin,我希望这会让你感觉很好 我对Java和这个网站都是相当陌生的。虽然这可能看起来很长,但我只需要两件事的帮助,所以请帮助,就像我说的,我对这一切都是新手,所以越彻底越好。我必须做一个项目,我们必须把普通的英语单词转换成拉丁语。我遗漏了一些我们的导师想要补充的东西。他的密码就是我现在掌握的 import java.util.Scanner; public class PigLatin { public static void main(String[] args) { Scanner sc =

我希望这会让你感觉很好

我对Java和这个网站都是相当陌生的。虽然这可能看起来很长,但我只需要两件事的帮助,所以请帮助,就像我说的,我对这一切都是新手,所以越彻底越好。我必须做一个项目,我们必须把普通的英语单词转换成拉丁语。我遗漏了一些我们的导师想要补充的东西。他的密码就是我现在掌握的

import java.util.Scanner;
public class PigLatin 
{
public static void main(String[] args) 
{
Scanner sc = new Scanner(System.in);
final String vowels = "aeiouAEIOU";
System.out.println("Enter your word.");
String word = sc.nextLine();
while (!word.equalsIgnoreCase("done"))
{
String beforVowel = "";
int cut = 0;
while (cut < word.length() && !vowels.contains("" + word.charAt(cut)))
{
beforVowel += word.charAt(cut);
cut++;
}
if (cut == 0)
{
cut = 1;
word += word.charAt(0) + "w";
}
System.out.println(word.substring(cut) + beforVowel + "ay");
System.out.println("Enter your word.");
word = sc.nextLine();
}
}
}
import java.util.Scanner;
公共级拉丁语
{
公共静态void main(字符串[]args)
{
扫描仪sc=新的扫描仪(System.in);
最后的字符串元音=“aeiouAEIOU”;
System.out.println(“输入您的单词”);
字符串字=sc.nextLine();
而(!word.equalsIgnoreCase(“完成”))
{
元音“”之前的字符串;
int-cut=0;
while(cut
我似乎无法实现的代码是“如果单词没有元音,请打印“INVALID”,例如,如果我在代码中键入bcdfgh,它会读回bcdfgh-ay。但应该说无效

还有一件事我不能添加代码,那就是“如果第一个元音是“u”,而它前面的字母是“q”,那么“u”也会出现在单词的末尾。”例如,如果我在这个代码中键入有问题的内容,它会读成uestionqay。但我想说的是estionquay


请和谢谢你

嘿,所以我给你编了一些东西

import java.util.Scanner;

public class PigLatin 
{
    public static void main(String[] args) 
    {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter your word.");
        String word = "";
        word = sc.nextLine();
        do
        {
            if(word.length() > 0)
            {
                if(containsVowels(word.substring(0,1)))
                {
                    System.out.println(word+"way");
                }
                else
                {
                    if(containsVowels(word))
                    {
                        System.out.println(word.substring(1,word.length())+word.substring(0,1)+"ay");
                    }
                    else
                        System.out.println("INVALID");
                }
            }
            System.out.println("Enter your word.");
        }
        while(!((word = sc.nextLine()).equalsIgnoreCase("done")));
        sc.close();
    }

    public static boolean containsVowels(String word)
    {
        String[] vowels = {
                "a","e","i","o","u"
        };
        for(int i = 0; i < vowels.length; i++)
        {
            if(word.contains(vowels[i]) ||  word.contains(vowels[i].toUpperCase()))
                return true;
        }
        return false;
    }
}
import java.util.Scanner;
公共级拉丁语
{
公共静态void main(字符串[]args)
{
扫描仪sc=新的扫描仪(System.in);
System.out.println(“输入您的单词”);
字串=”;
word=sc.nextLine();
做
{
if(word.length()>0)
{
if(containsVowels(word.substring(0,1)))
{
System.out.println(word+“方式”);
}
其他的
{
如果(包含单词)
{
System.out.println(word.substring(1,word.length())+word.substring(0,1)+“ay”);
}
其他的
System.out.println(“无效”);
}
}
System.out.println(“输入您的单词”);
}
而(!((word=sc.nextLine()).equalsIgnoreCase(“done”));
sc.close();
}
公共静态布尔containsVowels(字符串字)
{
字符串[]元音={
“a”、“e”、“i”、“o”、“u”
};
for(int i=0;i<元音.length;i++)
{
if(word.contains(元音[i])| | word.contains(元音[i].toUpperCase())
返回true;
}
返回false;
}
}
这并不能解决你的问题

“另一件事我不能添加代码是这样的”如果第一个元音是“u”,而它前面的字母是“q”,那么“u”也会出现在单词的末尾。“例如,如果我在这个代码中键入有问题的内容,它会读uestionqay。但我希望它说的是estionquay。”


你必须试着自己去做:)我可以回顾一下你所做的,看看它是否有效,但我想看到你尝试一下

我看到你拒绝了我的编辑。为什么呢?很抱歉,我以为那些编辑是电脑生成的,其中一个编辑完全改变了我想说的话。如果我知道有用户编辑了它,我就不会拒绝它。再次抱歉,非常感谢。我真的非常感谢你。再做一次我会给你回信的,再次谢谢you@user10101010如果你愿意,没问题,请把它标记为答案。