的最后一个字母我编程脚本用于交换在一个句子中每个字母有带旁边的字母。脚本截断字符串
例如,ABRACADABRA
成为BARCADABARA
...但是,有一个问题,当我编译它截断最后一个A,导致BARCADABARA
脚本。这导致任何字符串,即使是那些不以A结尾
/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone {
public static void main (String[] args) throws java.lang.Exception {
String word = "ABRACADABRA";
String finalword = "";
for (int i = 0; i < word.length()-1; i++) {
String wordsub = word.substring(i, i+1);
String wordsub2 = word.substring(i+1, i+2);
if(wordsub.equals("A") && !wordsub2.equals("A")){
i++;
finalword = finalword + wordsub2;
finalword = finalword + wordsub;
} else {
finalword = finalword + wordsub;
}
}
System.out.println(finalword);
}
}
顺便说一句,在循环中连接字符串是一个糟糕的主意,它可能会导致严重的性能缺陷,为更多的长字符串。考虑使用'StringBuilder'。 –
这是针对AP计算机科学实践的......你认为'StringBuilder'是集合的一部分吗?我不这么认为,但谢谢。 @TagirValeev – seanlevan