我尝试使用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
}
}