2016-07-17 15 views
-3

私はこのサイトを初めて使い、学校の仕事に取り組んでいますが、立ち往生しています。
double []arraydoubleを掛ける方法があるのでしょうか?ダブルの配列を別の倍精度に掛ける方法は?

for(int i = 0; i <= speed.length; i++) 
    double [] mph = speed[i] * 1.15; 

私のコードですが、私はJavaでそれをコンパイルするとき、それは言う:

"Incompatible types: double cannot be converted to double[]"

私はこれをどのように修正すればよいですか?

+2

mph [i] = speed [i] * 1.15、配列にdoubleを代入しようとしていますvar –

+0

これは許されていませんか? – Maya

+1

double [] mph =新しいdouble [speed.length]をループの前に入れ、ループ内でこの配列を埋めてください –

答えて

1

あなたはほとんどあります あなたは、操作の結果が格納されようとしている場所について、もう少し具体的にする必要があります...

あなたはアレイスピードを持っているよ、直接格納するのにこれを使用することができますので、その結果...

例えば

for(int i = 0; i < speed.length; i++) 
    speed[i] = speed[i] * 1.15; 

は、新しい配列を定義することができます... 1という名前マイルのように、単に新しいものの大きさに注意してください...その後、とん:に注意する

double mph[] = new double[speed.length]; 
for(int i = 0; i < speed.length; i++) 
    mph[i] = speed[i] * 1.15; 
+0

コメント@AndyTurner、ありがとうございました! :) –

+0

ありがとう、私はとても混乱していたし、それを行う方法を知らなかった:) – Maya

0

ことの一つはあなたのためのループでi <= speed.length条件です。 i == speed.lengthの値を編集しようとすると、配列speedの配列外の値を編集しようとしているため、配列外の例外が発生します。 speedの最大インデックスはspeed.length - 1です。このため、i < speed.lengthに変更する必要があります。

関連する問題