我正在尝试使用方法 deleteCharAt(0) 删除位置 0 处的字符,并将该字符(已复制)附加到末尾。该字符将追加到末尾,但方法 deleteCharAt(0) 未执行。我真的不知道为什么它不起作用。
Input: Test test test
Expected output: esttqw esttqw esttqw
Actual output: ttqw testtqw testtqw
下面是我的代码。非常感谢。
pT = pT.toLowerCase(); //converts the string to lower case
String[] strArr = pT.split(" "); //splits the string into an array
for(String subStr : strArr){ //for each substring in the string array
char first = subStr.charAt(0);
stringBuilder.append(subStr); //converts the string to a stringbuilder object
if((first=='a') || (first == 'e') || (first == 'i') || (first == 'o') || (first == 'u')){ //starts with a vowel
stringBuilder.append((char)charRand1); //appends y1 to the end of the string
stringBuilder.append((char)alphaRand3); //appends x3 to the end of the string
stringBuilder.append((char)alphaRand4); //appends x4 to the end of the string
stringBuilder.append(" ");
encryptedSS = stringBuilder.toString(); //converts stringbuilder back to string
}
else{ //starts with a consonant
stringBuilder.deleteCharAt(0); //deletes the first character
stringBuilder.append(first); //appends the first character to the end of the word
stringBuilder.append((char)alphaRand1); //append x1 to the end of the word
stringBuilder.append((char)alphaRand2); //append x2 to the end of the word*/
stringBuilder.append(" ");
encryptedSS = stringBuilder.toString(); //converts string builder back to an array
}
}