-3

こんにちは、エラーが発生しています:

シンボルが見つかりません - このメソッドの変数 Andrew。

何を変更する必要がありますか?

/**
* Create a method that says hi if the name is the same as yours and go away otherwise.
* 
* @author (your name) 
* @version (a version number or a date)
*/
public class String
{
public void greeting(String name) {
    String myName;
    myName = Andrew;
    if (name == myName) {
        System.out.println("Hi");
    }
        else {
            System.out.println("Go away");
        }

    }

}
4

5 に答える 5

2

equals()文字列を比較するために使用し、==参照を比較します。また、宣言はありませんAndrew

于 2012-10-17T01:45:36.270 に答える
1
myName = Andrew;

まだ宣言されていないものを使用Andrewしているので、使用できません。

それを使用できるようにするには、最初に宣言する必要があります(実行時に正しい結果を確認するには、正しく初期化する必要もあります)

String Andrew;

あなたがそれを使う前にそのように。

もう1つの問題は、クラス名Stringです。メソッドpublic void greeting(String name)では、どのStringクラスを意味しますか、あなた自身またはjava.lang.String

于 2012-10-17T01:48:01.277 に答える
1
String myName = "Andrew";
if (name.equals(myName)) {
    System.out.println("Hi");
}

myName.equals(name)たとえば、name.equals(myName)since myNameis not null for sure while namecan beの代わりに比較を行うnullと、NullPointerException が発生します。

于 2012-10-17T01:50:18.590 に答える
0

このようにしてみてください:

public class String
{
public void greeting(String name) {
    String myName;
    myName = "Andrew";
    if (name.equals(myName)) {
        System.out.println("Hi");
    }
        else {
            System.out.println("Go away");
        }

    }

}
于 2012-10-17T01:47:50.687 に答える
0
String myName;
myName = Andrew;

そして、何Andreyですか?Java構文によると、compillerはそれが変数であることを期待していますが、実際にはそのような変数はありません。私はあなたが次のようなものを書きたいと思います

String myName;
myName = "Andrew";//this is correct initialization
于 2012-10-17T01:48:38.157 に答える