gpt4 book ai didi

java - 遍历一个字符串并为每个字符添加不同的值作为前缀

转载 作者:行者123 更新时间:2023-11-29 07:40:05 25 4
gpt4 key购买 nike

我正在使用 Bungeecord 为我的 Minecraft(我的世界)服务器开发一个命令,并且需要一种方法来将不同的颜色代码添加到字符串中每个字符的开头。希望我可以将他们输入的任何字符串变成彩虹色。我被要求使用 8 种不同的颜色代码,并为每 8 个通过的字符重复该序列。

我已经注册了命令和类似的一切并且它有效,这是我遇到问题的字符串操作。我知道要循环遍历我可以使用的字符串

String message;
for (int i = 0; i < message.toCharArray().size(); i++)
{
char c = message.charAt(i);
//Prefix code here
}

我还定义了我要使用的 8 种颜色

final String one = "4";
final String two = "6";
final String three = "e";
final String four = "a";
final String five = "b";
final String six = "9";
final String seven = "5";
final String eight = "d";

我需要的是能够接受诸如

之类的字符串的东西

这段文字现在变成了彩虹!

并将遍历每个字符并将“§one” - “§eight”放在前面为每个字母着色。

我试过使用 String#replace(string, string) 但这不接受字符。我也尝试使用类似

的东西
String.replace("" + c, "§" + one + c);

但是这也不起作用。如果您能提供任何帮助和/或指点,我们将不胜感激 :) 谢谢

编辑:所需输出的样本行

用户做/rainbow 这个文字是彩虹!

输出:§4T§6h§ei§as §bt§9e§5x§dt ...等,但从§4重新开始

最佳答案

如果将颜色存储在数组中会更容易。将颜色的数量存储在一个变量中,这样您就不会在循环中继续执行 colors.length

String [] colors = {"4", "6", "e", "a", "b", "9", "5", "d"};
int numColors = colors.length;

创建一个 StringBuilder:

StringBuilder builder = new StringBuilder();

遍历字符数组。为字符添加正确的颜色。如果您的消息字符串大于 8 个字符,i%numColors 将允许颜色数组返回到开头,因为您的数组当前有 8 个选项。

for(int i = 0; i < message.length(); i++){
builder.append("§");
builder.append(colors[i%numColors]);
builder.append(message.charAt(i));
}

然后在您的方法结束时,只需返回整个构建器字符串。

return builder.toString();

如果你想在每个字符之间有一个空格或一个换行符,只需执行 builder.append ""/n

关于java - 遍历一个字符串并为每个字符添加不同的值作为前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31104956/

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