【问题标题】:Problems with stringBuilder.append().charAt in JavaJava 中 stringBuilder.append().charAt 的问题
【发布时间】:2018-07-07 14:30:07
【问题描述】:

我知道它存在,但我的老师要我手动做我正在尝试反转我的 stringBuilder 以便我里面的字符以相反的顺序排列,有时 stringBuilder 是单个字符,这就是为什么您可以看到有一个 if 指示何时应该翻转 stringBuilder 的字符。这就是我目前所拥有的。

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

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

【问题讨论】:

  • sB.append().charAt(i); 这没有多大意义,因为append(...) 需要一个参数。你看过 StringBuilder API 吗?看起来您正在为该类编写一些不存在的方法——例如它是deleteCharAt(...)——大写很重要。当 API 易于查找和查看时,为什么要这样做?
  • StringBuilder.reverse() 是一个东西...docs.oracle.com/javase/9/docs/api/java/lang/…
  • 我知道它存在,但我的老师要我手动做

标签: java append stringbuilder charat


【解决方案1】:

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

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

【讨论】:

  • 我知道它存在,但我的老师要我手动做
  • 欢迎您。请不要忘记检查答案和评分。谢谢
【解决方案2】:

使用此代码手动完成。

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);
    }
}

【讨论】:

  • 我知道它存在,但我的老师要我手动做
  • 必须使用StringBuilder吗?如果没有,你可以使用一个简单的字符串。
【解决方案3】:

如果不允许使用 reverse() 方法,则两两交换

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());

【讨论】:

    【解决方案4】:

    那么在这种情况下使用这个

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

    【讨论】:

      猜你喜欢
      • 2021-02-01
      • 2011-05-09
      • 1970-01-01
      • 1970-01-01
      • 2017-11-15
      • 2016-03-16
      • 1970-01-01
      • 2014-10-24
      • 1970-01-01
      相关资源
      最近更新 更多