0

我正在尝试打印没有中间字符的字符串,但我没有得到所需的输出。

public class StringIndexEliminator {
    public static void main(String[] args) {
        String str = "CARS";
        int l = str.length();
        int s = (l+1)/2;
        System.out.println(l);
        StringBuffer sb = new StringBuffer(str);
        System.out.println(sb.deleteCharAt(s).toString());
    }

}
4

2 回答 2

2

无需使用stringBuffer(没有竞争条件)使用 StringBuilder,然后删除长度/2的字符

StringBuilder sb = new StringBuilder(str);
System.out.println(sb.deleteCharAt(str.length() / 2));
于 2017-05-23T10:32:38.463 回答
0

您必须检查偶数或奇数字符串的长度,然后打印您想要的字符串。

希望这会做你想要的。

String str = "CARS";
int l = str.length();

if((l % 2) == 0){
    System.out.println(str);
}else{
    StringBuffer sb = new StringBuffer(str);
    System.out.println(sb.deleteCharAt((l-1)/2).toString());
}
于 2017-05-23T11:01:17.627 回答