2017-09-25 8 views
2

私の教授は、私が書いたり変更しなければならない方法のリストを作った。そのうちの1人はCustomer getCustomer(String n)としてリストされています。さて、顧客は後でコードを正しく動作させるために使用される別のJavaファイルの名前ですが、私はほとんどgetCustomerがメソッドを作るはずの名前だと確信しています。以下では、このメソッドに対して記述したコードをコピーして貼り付け、コンパイルエラーを通知します。このコードをコンパイルするのを手伝ってください。メソッドの名前の隣に別のJavaファイル(またはクラス)の名前を入れるにはどうすればいいですか?

public void Customer getCustomer(String username){ 
    for(int i=0; i<customerList.size(); i++){ 
    String holdingSpotForArrayEle; 
    holdingSpotForArrayEle = customerList.get(i); 
    if (holdingSpotForArrayEle == username) 
    return username; 
    } 
    } 

エラーの原因となるコードの最初の行が表示されていますか。次のように

コンパイルエラーがある:

CustomerDatabase.java:77: error: '(' expected 
    public void Customer getCustomer(String username){ 
         ^
1 error 

(。小さなニンジン記号はgetCustomerでg未満であるところで) あなたが顧客を取り除く考えているならば、教授は顧客を含めCustomer getCustomer(String n)というメソッドを参照して、メソッドの先頭に移動します。

+0

'ます。public voidカスタマーgetCustomer(文字列名){'あなたは2つの戻り値の型 – Ramanlfc

+0

教授を定義しているだろう。使用する正確なメソッドシグネチャを得ました: 'Customer getCustomer(String n){...}'。 –

+0

また、 '=='を使用して文字列を比較しないでください。 'holdingSpotForArrayEle == username'の代わりに' holdingSpotForArrayEle.equals(username) 'を使います。 –

答えて

0
public void Customer getCustomer(String username) 

は、メソッドの不正な署名です。

はまた

return username; // check type of username 

は、現在の署名がusernameのタイプでもあるStringを返すようになり、あなたのコード内のreturn文を見て:戻すために

public String getCustomer(String username) 

タイプCustomerの場合は、メソッド定義を次のように更新する必要があります。

return new Customer(); // just for example 

と、一致するメソッドのシグネチャは

public Customer getCustomer(String username) 
関連する問題