2016-04-12 12 views
0

これは私が持っているコードです。配列の長さからインデックスを引いた値を掛ける方法

int[] array = {10,11,12,13,14,15}; 
int i = 0; 
while(i<array.length){ 
array[i] = (i*array[i]); 
i=i+1; 

基本的に、このコードが何ISアレイ(10,11,12,13,14,15)から各番号を取得し、そのインデックスによって各数値を乗算します。したがって、0,11,24,39,56,75になります。今、これは私が望むものではありません。私がしたいことは、配列MINUSの長さにインデックスを掛けることです。どのように私はこれを行うことができます任意のアイデア?私はNetbeans(java)を使用しています。

+2

あなたがなるように、 '{60、55、48、39、28、15}'で終わりますか? – rgettman

+1

あなたのコードは括弧の使い方と、配列の長さの見方を示しています。残されている唯一のものは減算する方法です。 –

+1

'for'ループは読みやすくなります。 –

答えて

2
int len = array.length; 
for (int i=0; i<len; i++){ 
    //my first idea of how you want it 
    array[i] = array[i] * len - i; 
    //or this way? 
    array[i] = array[i] * (len-i); 
} 

- 結果として取得したいものを指定してください。

+0

私はこれをしようとしていますが、何らかの理由でネットビーンズがそれを拒否しています。私は私のコードのスクリーンショットをアップロードできるので、私はあなたを見せることができますか? –

+0

どこに書きましたか(int i = 0; i

+0

@PetroKo ideone.comで試してみてください。その後、リンクを共有することができます。 –

0

あなたはその後、上記のように結果は、このコードのために行くしたい場合は、{60,55,48,39,28,15}

として結果をしたいですか:

int l=a.length; 
for(int i=0;i<l;i++){ 
    a[i]=a[i]*(l-1); 
} 
+0

これは動作しますが何らかの理由でNetbeansがこのコード行を拒否しています "for(int i = 0; i

+0

多分、条件が間違っていますか?あるいは、それを書く別の方法を教えてください –

+0

forループでのみエラーを出していますか? – PramodHegde

関連する問題