0
配列内のすべての数値の平均を計算するはずの次のコードを記述しようとしていましたが、foreach-loopを使用する必要があります。 問題は、コンパイラが3行目のfloatからintへの損失の多い変換について教えてくれることです(for(int k:numbers))。foreach-loopで整数への可逆変換float
kをfloatにキャストしても機能しない、キャスティングの数値が機能しない( 'fコース)、その他のキャストはどちらも機能しないようです。 どこが問題ですか、お手伝いください!
ありがとうございます!だから、
float calculateAverage(float[] numbers){
float a = 0.0f;
for(int k: numbers){
(a) = a+numbers[k];
}
return a/(numbers.length-1);
}
は宿題のようです。ほとんどの言語では、割り当ての左側で、何かをすることはできません。ちょうど右側に... – helt
これは私が推測するところです。あなたが使用している言語用のタグを追加するのが最善でしょう。 –
あなたは拡張された 'for'ループを使用しています。これは 'numbers'配列にアクセスするためにカウンタ変数を使用しません。 'numbers'配列の各_member_は、ローカル変数内でループを反復しながら順番に保持されます。したがって、あなたの配列は 'float []'型の配列なので、 'k'は' float'である必要があります。ループの最初の反復で、 'numbers'の最初の値は' k'に保持されます。累積的な追加を 'a'で行うことができます。その後、最後に分割を行います。 – OnlySteveH