私はJavaが初めてです。ここに私がこれまでに持っているものがあります:
int getLength(int length) {
int[]a = new int[length];
for(int i = 0; i < a.length; i++)
return(length);
}
「return ステートメントがありません」と表示されていますが、どこに問題があるのでしょうか。それはどのように書かれるべきですか?ありがとう
私はJavaが初めてです。ここに私がこれまでに持っているものがあります:
int getLength(int length) {
int[]a = new int[length];
for(int i = 0; i < a.length; i++)
return(length);
}
「return ステートメントがありません」と表示されていますが、どこに問題があるのでしょうか。それはどのように書かれるべきですか?ありがとう
public int getLength(int[] i){
return i.length;
}
ここでやりたいことはこれだと思います:
int getLength(int[] arr)
{
int length = 0;
for(int i = 0; i < arr.length; i++)
length++;
return length;
}
これはある種の宿題のためだと思います。これは for ループを教えるためだけですarr.length。例えば。
int getLength(int[] arr){ return arr.length; }
あなたが提供したものから、コードは次のようになるはずです:
int getLength(int[] a){
int length = a.length;
return length;
}
arrayname.length を実行することで、配列の長さを簡単に取得できます
問題はメソッドが整数の配列を取ることを指定したため、メソッド パラメーター内で入力として配列を渡す必要があります。この場合は int[] a で、int length ではありません。
このようなメソッドは機能上不要です。配列を関数に渡してその関数に長さを返す代わりに、たまたま必要な場所で長さを取得するだけです。
a.length
整数の配列を取る getLength()
それは間違っています。メソッドの署名は、getLength() がパラメーターとして整数 (整数の配列ではない) を取ることを示唆しています。
そのため、コードの残りの部分は少し混乱しています。基本的に、実際に行っていることは次のとおりです。
lengthforループ条件が真ではなく、配列の長さがゼロの場合、return命令は実行されないため、コンパイラは return ステートメントがないと言っています。そうでない場合、メソッドには常にreturn指示が必要ですreturn typevoid
コードのスニペットで実際に何をしていたのかを説明しようとしました。そのメソッドの本当の目的が何であるかがわかりませんでした。たぶん、user2635032の答えだけがあなたに合うはずです。