java - StringBuffer 和appender 方法

标签 java stringbuffer appender

我必须编写一个程序,将字符串相互添加,数量与方法中的参数所述相同。程序无法运行,我不知道为什么。谢谢你的时间。问题出在 ap.append("ma kota", 3).append( "i psa", 2); 中的 main 中。我无法对主要内容进行更改。

public class Appender {
    private StringBuffer sb;

    public Appender(){
        sb = new StringBuffer();
    }

    public Appender(String s){
        sb = new StringBuffer(s);
    }

    public StringBuffer append(String str, int n) {
        while(n > 0){
            sb.append(str);
            n--;
        }
        return sb;
    }

    public String toString(){
        String s = sb.toString();
        return "" + s;
    }
}

这是我的主要内容:

public class Main {
    public static void main(String[] args) {
        Appender ap = new Appender("Ala");
        ap.append(" ma kota", 3).append( " i psa", 2);
        System.out.println(ap);
        ap.append(" ojej", 3);
        System.out.println(ap);
    }
}

最佳答案

append(Stringappend, int n)方法属于Appender,而不是StringBuilder,所以你必须返回它,而不是sb

public class HelloWorld{

     public static void main(String []args){
        System.out.println("Hello World");
         Appender ap = new Appender("Ala");
        ap.append(" ma kota", 3).append( " i psa", 2);
        System.out.println(ap);
        ap.append(" ojej", 3);
        System.out.println(ap);
     }
     public static class Appender {
        private StringBuffer sb;

        public Appender(){
            sb = new StringBuffer();
        }

        public Appender(String s){
            sb = new StringBuffer(s);
        }

        public Appender append(String str, int n) {
            while(n > 0){
                sb.append(str);
                n--;
            }
            return this;
        }

        public String toString(){
            return sb.toString();
        }

    }
}

关于java - StringBuffer 和appender 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23129235/

相关文章:

java - 读取 XML 文件行并将它们作为 java 中的字符串读入。

java - 无效类型文本继续打印

java - 在Java中使用 "for"循环时 boolean 变量的初始化

java - 返回 StringBuilder 或 StringBuffer 的 StringUtils.replaceEach?

java - 如何将 StringBuffer 的最后一个字符传输到开头?

java - log4j2 自定义附加程序不会停止/退出

logging - Logback asyncAppender 似乎不是线程安全的

Java swing.JFrame 仅在调整窗口大小时绘制内容

java - 有没有办法可以在Java中打印两个纪元时间之间的所有天数?

spring - 有哪些可用选项可用于在 Spring 管理的 Web 应用程序内的 Log4J Appender 中检索 Spring 管理的 bean?