0

私はプログラミングにかなり慣れていないので、少し助けが必要です。私は StringBuffer クラスの使い方を学んでいて、簡単なコードを書きました。ただし、プログラムを実行しようとすると、「シンボルが見つかりません」というエラーメッセージが表示され続けます。どんな提案も素晴らしいでしょう!ありがとう!

public class StringBuffer{ 
    public static void main(String[] args) 
    {
        StringBuffer sbuff = new StringBuffer();

        //one attempt to append - error
        sbuff.append("Jenna");

        //second attempt to append - error
        String phrase = new String("Jenna");
        sbuff.append(phrase);

        //attempts to call upon other methods - errors
        System.out.println("Your name backwards is: " + sbuff.reverse());
        System.out.println("The length of your name is: " +sbuff.length());
    }
}

正確なエラーは次のようになります。

cannot find symbol
  symbol:   method append(java.lang.String)
  location: variable sbuff of type StringBuffer

reverseとの同様のエラーlength

4

2 に答える 2

2

名前の競合があります。これは、Java APIStringBuffer sbuff = new StringBuffer();のクラスではなく、独自のクラスを指していると言うときは、使用しようとしていると想定しています。

あなたはそれを完全に修飾することができます:

java.lang.StringBuffer sbuff = new java.lang.StringBuffer();

しかし、より良いオプションは、クラスの名前を変更することです。原則として、使用しようとしているクラスと同じ名前をクラスに付けないでください (または、標準 API のクラスと同じ名前を付けないでください)。これは、おそらくあなた自身とおそらく他の誰かを混乱させる可能性があります。あなたのコードを読むために。

また、代わりに StringBuilder を使用することもできます

于 2013-04-25T14:20:47.570 に答える
0

「import java.lang.StringBuffer;」はありますか?あなたのコードで?おそらくそれが理由です。どのようなエラーが発生したかを知ることも役立ちますか?

于 2013-04-25T14:18:54.233 に答える