系统抛出错误生成器无法在java程序中解决?

系统抛出错误生成器无法在java程序中解决?,java,Java,系统抛出错误生成器无法在java程序中解决:-在行中的字符串结果=builder.toString()和builder.append(“abc”) package newprojectstring; import java.lang.StringBuilder; public class MyOwnClass { public static void main(String[] args) { // Loop and append values.

系统抛出错误生成器无法在java程序中解决:-在行中的字符串结果=builder.toString()builder.append(“abc”)

   package newprojectstring;   
   import java.lang.StringBuilder;
    public class MyOwnClass {

public static void main(String[] args) {


    // Loop and append values.
    for (int i = 0; i < 5; i++) { 

    MyOwnClass Builder = new MyOwnClass(); 

      builder.append("abc");          
    }

    // Convert to string.

    String result = builder.toString();        
    System.out.println(result);
}
package-newprojectstring;
导入java.lang.StringBuilder;
公共类{
公共静态void main(字符串[]args){
//循环并附加值。
对于(int i=0;i<5;i++){
MyOwnClass Builder=新的MyOwnClass();
建造商。附加(“abc”);
}
//转换为字符串。
字符串结果=builder.toString();
系统输出打印项次(结果);
}

}

当您编写
builder.append(“abc”),java将查找由名为
builder
的引用表示的
class
,在本例中,它是您的自定义类
Stringbuilder
。然后它将查找带有字符串参数的方法
append
,但找不到,因为您还没有定义这样的方法

现在有一个预定义的
StringBuilder
,它有一个名为
append
的方法。我想你对此感到困惑。如果要调用StringBuilder的append方法,必须引用
StringBuilder

Stringbuilder builder = new Stringbuilder();
builder.append("abc");

首先,不要用与标准
Java
库中的类名相似的名称来命名自己的类。如果你这样做,你总是会得到大量的错误,每个读你代码的人都会诅咒你

接下来,您希望使用
java.lang
包中的标准
StringBuilder
,但实际上您尝试使用自己的
StringBuilder
类的实例,该类不包含
append()
方法<从
Java
的角度来看,code>StringBuilder
StringBuilder
是不同的东西。如果不命名类
Stringbuilder
,则在IDE中编写时会看到错误

按如下方式重写代码:

public class MyOwnClass {       // *** Not 'Stringbuilder'!!!

  public static void main(String[] args) {
    // Create a new StringBuilder
    StringBuilder builder = new StringBuilder(); // *** Not 'Stringbuilder' !!!

    // Loop and append values.
    for (int i = 0; i < 5; i++) {   // Use spaces properly      
      builder.append("abc");          
    }

    // Convert to string.
    String result = builder.toString();        
    System.out.println(result);
  }

}
公共类MyOwnClass{/***不是“Stringbuilder”!!!
公共静态void main(字符串[]args){
//创建新的StringBuilder
StringBuilder=新建StringBuilder();//***不是“StringBuilder”!!!
//循环并附加值。
对于(inti=0;i<5;i++){//请正确使用空格
建造商。附加(“abc”);
}
//转换为字符串。
字符串结果=builder.toString();
系统输出打印项次(结果);
}
}

您是否将代码更改为
公共类StringBuilder
?我不是这个意思。您应该更改
Stringbuilder=new Stringbuilder()
StringBuilder=新的StringBuilder()@Sweeper,如果我更改Stringbuilder=new Stringbuilder();至StringBuilder=新建StringBuilder();系统在字符串result=builder.toString()中抛出错误;无法解析线条生成器
StringBuilder=new StringBuilder()应该在循环之外,因为它对外不可见。@Satya是的,它解决了我的prblm问题