Quantcast
Channel: 配列タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 834

配列と繰り返し文を組み合わせて使用する代表的なパターン3つ

$
0
0
① ループによる全要素の利用 カウンタ変数 i を0からインクリメントで要素数( scores.length メソッド)まで繰り返すことで配列の添え字を順に指定し、格納した要素に1つずつアクセスする int[] scores = {10, 20, 30, 40, 50}; for(int i =0; i < scores.length; i++){ System.out.println(scores[i]) } num [0] から num [4] まで順に表示される 要素数の増減に対して、記述は何ら変わることはない ② ループによる集計 int[] scores = {10, 20, 30, 40, 50}; int sum = 0; for(int i =0; i < scores.length; i++){ sum += scores[i]; } int avg = sum / score.length; System.out.println("合計点:" + sum); System.out.println("平均点:" + avg); } まず合計値の変数 sum を0で初期化し、インクリメントでカウンタ変数を1つずつ増やして要素1つずつ指定し、sum に足していく作業を要素数分( score.length )繰り返すことで、要素の合計を sum に入れる 要素の合計である変数 sum を要素数( score.length )で除し、変数 avg に入れることで、要素の平均値が取得できる この他にも、ある条件と一致する要素の数を数える、"カウント集計"という処理にもよく使用される ③ 添え字に対応した情報の利用 0~3の整数がランダムに格納された5個の要素を持つ配列 x から、それぞれに対応したH,E,L,Oという文字で表示させたい場合 int[] x = new int[4]; for (int i = 0; i < x.length; i ++) { x[i] = new java.util.Random().nextInt(4); } for(int i = 0; i < x.length; i ++) { switch (x[i]){ case 0: System.out.println("M"); break; case 1: System.out.println("A"); break; case 2: System.out.println("I"); break; case 3: System.out.println("N"); break; } } for文でカウンタ変数を0~3まで繰り返し、x[ 0 ]~x[ 3 ]の要素にはランダムで0~3の値を格納する その後、別のfor文でカウンタ変数を繰り返しながらswitch文で、要素 x [ 0 ]の値が 0 のとき' M '~ 3 のとき' N ' までを分岐で表示させ、x [ 3 ]まで繰り返し、文字を4つ表示させる また、この switch 文の冗長な記述は char[] y = {'M','A','I','N'}; System.out.println ( y[x[i]]); という簡単な 2 行で書き換えられる これは配列 x に対応する、A~Dまでの文字を格納する配列 y を初期化し、その [] の中に x [ i ] を入れてfor文で繰り返し、1つずつ y の要素に対応させている 例えばランダムに格納した x [ 0 ]の値が' 2 'だった時、出力されるのはy [ 2 ]となり、配列 y の要素に対応して ' I 'が表示される

Viewing all articles
Browse latest Browse all 834

Trending Articles