Java 每输入5个字符替换一次(空格计数)

Java 每输入5个字符替换一次(空格计数),java,Java,我正在尝试编写一个程序,接受一个输入,并用X替换每5个字符(也计算空格)来显示输入。 例如: 输入:“你好,我叫马里奥” OutPu:“HELX X XI席MaXIO”< /P> 我只设法替换特定的字母,例如每个“m”字母 有什么帮助吗?以下是代码: String test = "hello my name is mario"; String result = ""; int c = 1; for (int i = 0; i < test.length(); i+

我正在尝试编写一个程序,接受一个输入,并用X替换每5个字符(也计算空格)来显示输入。 例如: 输入:“你好,我叫马里奥” OutPu:“HELX X XI席MaXIO”< /P> 我只设法替换特定的字母,例如每个“m”字母


有什么帮助吗?

以下是代码:

String test = "hello my name is mario";

    String result = "";
    int c = 1;
    for (int i = 0; i < test.length(); i++) {
        if (c++==5) {
            result += "X";
            c = 1;
        } else {
            result += test.charAt(i);
        }
    }
    System.out.println("result = " + result);
String test=“你好,我叫马里奥”;
字符串结果=”;
int c=1;
对于(int i=0;i
如果您不关心第五个位置是哪个字符,您可以使用正则表达式

String input = "hello my name is mario";
String output = input.replaceAll("(....).", "$1X");
System.out.printf("input : %s%noutput: %s%n", input, output);
输出

input : hello my name is mario
output: hellX my Xame Xs maXio

您可以将字符串转换为字符数组并对其进行迭代,同时通过indexi每隔5个字符进行一次更改。如果我们可以看到您的代码,我们将能够指出为什么它不能按您的预期工作。为什么(c++==5)和不(c%5==0)可能重复?它快吗?我不知道它快不快,但也许人类可读性更好。(.{4})。要短得多:)@我相信你同意我的看法,在这种情况下,我们是否按
(…)。
(.{4})匹配并不重要。
;-)还是你的意思是我忽略的其他东西。(也许我们的帖子有些重叠。)没有。你的正则表达式看起来不错。我只是想把它缩短:)@我就是这样理解的我感谢你的评论。任何学习新东西的机会都应该被接受。