29春  java 配列に配列  

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
amagi4さん  
(No.1)
問題b
とても詳しい解説があるのですが、配列に配列を入れているという点でイメージが難しです。
aは2次元配列で宣言していて、forの部分は分かるのですが
a[ i/2 ] = new double[] { tiers[ i ], tiers[i + 1] };

の部分のaは、1次元目はa[ i/2 ] で2次元目はどの様に配列の添字を指定してるのでしょうか
 tiers[ i ], tiers[i + 1] はdouble型の数値なのですが、配列になるのでしょうか
よろしくお願いいたします。
double[][] a = new double[tiers.length / 2][];
//0から2プラスしてく、
for ( int i = 0; i  < tiers.length; i += 2 ) {

a[ i/2 ] = new double[] { tiers[ i ], tiers[i + 1] };

}
this.pairs = a;
2022.06.11 12:43
boyonboyonさん 
FE ブロンズマイスター
(No.2)
javaのことよく分からないのですが、
a[ i/2 ] = new double[] { tiers[ i ], tiers[i + 1] };  の
 { tiers[ i ], tiers[i + 1] }の部分は、代入する要素が2つあるということで
添え字が2つ(0と1)
a[ i/2 ] [0] ←   tiers[ i ]
a[ i/2 ] [1] ←   tiers[i + 1]
になるんじゃないかなと思います。
2022.06.12 00:54
amagi4さん  
(No.3)
boyonboyon様
分かりやすい解説有難う御座います。

tiers[ i ],が0番目、tiers[i + 1]が1番目の添字ですね。
助かりました。
2022.06.12 18:32
boyonboyonさん 
FE ブロンズマイスター
(No.4)
レスを見ていただきありがとうございます。
説明が不十分だったようで追加で書かせていただきます。

>tiers[ i ],が0番目、tiers[i + 1]が1番目の添字ですね。
とされていますが、tiers[i],tiers[i+1]は添字ではなく、実データです。
no.2は、引数のtiersを配列のaに格納する手順の説明で、
  ←  は、値の代入のつもりで書きました。
aへの代入が終わった後、
a[][]の値を取り出すときに、a[][0]で、元tiers[偶数](電力量のしきい値)
a[][1]で、元tiers[奇数](単価)の値が参照できます。
[0],[1]は、0から始めて順番に付けているだけです。
2022.06.13 00:52

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop