下記のtoString()メソッドについて、非常に簡単な質問があります。メソッド内での返り値のエラー
public String toString()
{
for (int d = 0; d < words.size(); d++)
{
return "The word: " + words.get(d);
}
return "";
}
返します:
The word: apple
The word: banana
The word: grape
私はこの質問が尋ねる理由は言葉が{りんご、バナナ、ブドウ}の内容とArrayListのであればこの方法があれば、私はちょうどwonderningました私はラインommitedときので:
return "";
を私はreturn文を欠落していると述べたエラーを得たので、私はコンピュータがreturn文を認識していない可能性があります考え出し:
"return "The word: " + words.get(d);"
、代わりに返す:
The word: apple
The word: banana
The word: grape
をそれは返します:
null or ""
私はこれが必要であるかどうかわからないけど、私もちょうど私が持っていたコードに入れています私はエラーを返す前に、return文がありません。
public String toString()
{
for (int d = 0; d < words.size(); d++)
{
return "The word: " + words.get(d);
}
}
正確なエラーは、2番目から最後の閉じた括弧を丸で囲んだ赤い線です。正確なエラーメッセージがあった。
Update 1の「return文が欠落」:
私は本当にすべてのヘルプと私が得ることができるコードの建設的な批判を感謝しています。私はこの簡単な質問を複雑すぎるものにしていないことを願っています。ありがとうございました:)
アップデート2:
私は非常に多くのメモを残すため申し訳ありません。しかし、私はこれがよくある質問であるかどうか疑問に思っていました。なぜなら、これはクラスでたくさん出てくるように見えますし、教師のアシスタントはその質問に答えることができないからです。もう一度ありがとう:)
それはそれが必要_which_果物を把握することはできませんので、あなたの方法は、意味をなすようには見えません印刷されているので、それらのすべてを反復処理しています。このエラーに関して、コンパイラは、 'for'ループが実行されるべきでない場合、そのループの後にreturn文がなければならないことを検出しました。あなたが 'return" ''を削除すると、コードが破られました。 –
ループの中に 'return'ステートメントを置いているのはなぜですか?つまり、初めてループを通過すると、メソッドから戻り、ループの残りの部分を決して通過しないということです。値を返すメソッドはただ1つの値を返します。メソッドが3つの異なる値を返すとはどのように考えましたか? – ajb
あなたの最後の質問に答えるには:(1)質問者がこのような「復帰」ステートメントでループを書いたところで、なぜそれが間違っていたのか理解できなかったいくつかの他の投稿を見ました。 (2)この質問に答えることができない人は、少なくともコンピュータサイエンスのクラスでは、助手になるべきではない。 (彼らが英語のライティング・アシスタント(TA)であれば問題ありません) – ajb