stringBuilder.append()。char中的问题

时间:2018-01-28 22:27:57

标签: java append stringbuilder charat

我知道它存在,但我的老师要我手动完成它我试图反转我的一个stringBuilder,以便我内部的字符以相反的顺序排列,有时stringBuilder是单个字符,这就是为什么as你可以看到有一个if表示何时应该翻转stringBuilder的字符。这就是我现在所拥有的。

if ( sB.length ()> 1) {
    for (int i = sB.length () - 1; i> = 0; i--) {
        sB.append().charAt(i);
        sB.deleteCharAt (i); 
    }
}

我知道sB.reverse()存在,但我的老师要我手动完成,你怎么看我不知道如何实现这两种方法。如果有人可以帮助我。谢谢!

4 个答案:

答案 0 :(得分:1)

如果你想反转你的字符串,为什么不使用

StringBuilder str = new StringBuilder();
str.append("yourstring");
str.reverse();

答案 1 :(得分:1)

然后在那种情况下使用此

StringBuilder str = new StringBuilder();
str.append("yourstring");
for(int i = str.length()-1 ; i>=0; i--)
{
    str.append(str.charAt(i)).deleteCharAt(i);
}

答案 2 :(得分:0)

使用此代码手动执行此操作。

public class Reverse {
public static void main(String args []) {
    String rev = "This should be reversed";
    StringBuilder stb = new StringBuilder();
    int i = rev.length()-1;
    while (i != -1) {
            char re = rev.charAt(i);
            stb.append(re);
            i--;
        }
        System.out.println(stb);
    }
}

答案 3 :(得分:0)

如果不允许使用reverse()方法

,请将它交换为2
StringBuilder sb = new StringBuilder("abcde");
for (int i = 0; i < sb.length()/2; i++) {
    char tmp = sb.charAt(i);
    sb.setCharAt(i, sb.charAt(sb.length() - 1 - i));
    sb.setCharAt(sb.length() - 1 - i, tmp);
}
System.out.println(sb.toString());