メソッドdeleteCharAt(0)を使用して、位置0の文字を削除しようとしていて、その文字を末尾に追加しようとしています。文字は最後に追加されますが、メソッドdeleteCharAt(0)は実行されません。なぜそれが動作していないのかは分かりません。StringBuilderメソッドdeleteCharAt文字を削除しない
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
}
}
入力例、それに得られると思われる出力、実際の出力などを教えてください。 – Mureinik
私はちょうどいくつかを追加しました。ご協力ありがとうございました。 –