Java 如何在单词的中间添加一个空格

Java 如何在单词的中间添加一个空格,java,Java,嘿,伙计们,在单词之间加空格有困难。我需要做的是把英语转换成Vogon,我已经做过了,但你也必须在每5个字符中添加空格。任何想法如何做到这一点,这里是我的代码 public static void main(String[] args) { translateFromEnglish("hello"); } public static boolean detect(String phrase) { return false; } public

嘿,伙计们,在单词之间加空格有困难。我需要做的是把英语转换成Vogon,我已经做过了,但你也必须在每5个字符中添加空格。任何想法如何做到这一点,这里是我的代码

public static void main(String[] args) {
    translateFromEnglish("hello");
    }
    public static boolean detect(String phrase) {
        return false;
    }
    public static String translateFromEnglish(String phrase){
        Scanner scan = new Scanner(System.in);
        phrase = scan.nextLine();
        String NewString = "";
        for (int i = 0; i < phrase.length(); i++) {
            if (phrase.charAt(i) == 'a') {
                NewString += "n";
            }
            if (phrase.charAt(i) == 'b') {
                NewString += "o";
            }
            if (phrase.charAt(i) == 'c') {
                NewString += "p";
            }
            if (phrase.charAt(i) == 'd') {
                NewString += "q";
            }
            if (phrase.charAt(i) == 'e') {
                NewString += "r";
            }
            if (phrase.charAt(i) == 'f') {
                NewString += "s";
            }
            if (phrase.charAt(i) == 'g') {
                NewString += "t";
            }
            if (phrase.charAt(i) == 'h') {
                NewString += "u";
            }
            if (phrase.charAt(i) == 'i') {
                NewString += "v";
            }
            if (phrase.charAt(i) == 'j') {
                NewString += "w";
            }
            if (phrase.charAt(i) == 'k') {
                NewString += "x";
            }
            if (phrase.charAt(i) == 'l') {
                NewString += "y";
            }
            if (phrase.charAt(i) == 'm') {
                NewString += "z";
            }
            if (phrase.charAt(i) == 'n') {
                NewString += "a";
            }
            if (phrase.charAt(i) == 'o') {
                NewString += "b";
            }
            if (phrase.charAt(i) == 'p') {
                NewString += "c";
            }
            if (phrase.charAt(i) == 'q') {
                NewString += "d";
            }
            if (phrase.charAt(i) == 'r') {
                NewString += "e";
            }
            if (phrase.charAt(i) == 's') {
                NewString += "f";
            }
            if (phrase.charAt(i) == 't') {
                NewString += "g";
            }
            if (phrase.charAt(i) == 'u') {
                NewString += "h";
            }
            if (phrase.charAt(i) == 'v') {
                NewString += "i";
            }
            if (phrase.charAt(i) == 'w') {
                NewString += "j";
            }
            if (phrase.charAt(i) == 'x') {
                NewString += "k";
            }
            if (phrase.charAt(i) == 'y') {
                NewString += "l";
            }
            if (phrase.charAt(i) == 'z') {
                NewString += "m";
            }




        }
        System.out.println(NewString);
        return phrase;

            }
publicstaticvoidmain(字符串[]args){
翻译女性英语(“你好”);
}
公共静态布尔检测(字符串短语){
返回false;
}
公共静态字符串translateFromEnglish(字符串短语){
扫描仪扫描=新扫描仪(System.in);
短语=scan.nextLine();
字符串NewString=“”;
for(int i=0;i
控制台 您好,您好//用户输入
uryybubbjnerlbhqbwat//new phrase

要查找第五个字符并添加一个字符串,在
for
循环中,可以包含如下简单内容:

if (i % 5 == 0){
    newString += " ";
}

维护一个计数器并在for循环中递增它。在所有if语句的末尾

count++;
if(count % 5 == 0){
    NewString += " ";
}

使用StringBuilder效率更高,因为您不需要每次都创建字符串:

    String translatedString = "aaaaabbbbbeeeeecccccdddddfffffgggg";
    int numOfChars = 5;
    StringBuilder vogon = new StringBuilder();
    for (int i = 0; i < (translatedString.length() / numOfChars); i++) {
        vogon.append(translatedString.substring(i * numOfChars, (i * numOfChars) + 5)).append(" ");
    }

    // append any remaining characters
    vogon.append(" ").append(translatedString.substring(translatedString.length()/numOfChars));

    System.out.println(vogon);
String translatedString=“aaaaa bbbbb eeeee ccccccc ddddd fffff gggg”;
int numochars=5;
StringBuilder vogon=新的StringBuilder();
对于(int i=0;i<(translatedString.length()/numochars);i++){
append(translatedString.substring(i*numochars,(i*numochars)+5)).append(“”);
}
//附加任何剩余字符
append(“”.append(translatedString.substring(translatedString.length()/numochars));
系统输出打印LN(vogon);

您可能想考虑使用<代码>开关>代码>语句,而不是重复的<代码> > S.S.还不如让NetryString一个String Bu建器不重写每个字符附件上的整个字符串对象。啊,我的代码不能工作,因为您命名了string <代码> NetryStry< /Cord>。惯例上确实建议使用lowerCamelCase来命名对象。这很有趣,熊猫,我正要问你关于计数的问题。谢谢你的帮助。现在我是把它放在每个if中还是在每个if之后?你知道吗,用NewString代替NewString只要有一个单词就行了,但当我尝试一个短语时,它会计算已经在其中的空格,然后再加上1,所以它只给我4个字符,而不是5个字符。没关系,因为java的计算方式,我不得不将5改为6。还有一个问题是,我将如何让程序检测vogon,因为它与检测vogon的方式相同