我使用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";
我需要的東西,將接受一個字符串,如
本文現在是彩虹!
和將遍歷每個char和地方「§one」 - 在前期「§eight」上色每個字母。
我使用字符串替換#(字符串,字符串)然而,這並不接受一個char嘗試。我使用沿着
String.replace("" + c, "§" + one + c);
線的東西但是這也不能工作也試過。任何幫助和/或指針您可以提供將不勝感激:)謝謝
編輯:所需的輸出採樣線
用戶並/彩虹本文是彩虹!
輸出:§4T§6h§ei§as§bt§9e§5x§dt...等,但重起§4
聽起來像'StringBuilder'的工作。你總是可以循環遍歷每個字符,將前綴+字符添加到一個StringBuilder中,然後使用構建器完成結果,或者你可以使用insert方法插入東西。 –
另外,不要使用'toCharArray )'。只需使用'message.length()'來防止每次創建多餘的對象。字符串是不可變的,所以任何修改它的嘗試都會創建一個新的String對象。由於'char []'允許你修改'String','toCharArray()'返回一個* new *'char []'對象,而不是'String'的實際'char []'。 –