配列から最大値を検索する
10個の配列に適当な数値(0以上)が格納されています。ここから最大の数値を検索するプログラムが下記になります。新規でクラスを作成し、下記を入力するかコピーしてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
package step07; public class Array1 { public static void main(String[] args) { //数値の配列 int[] num = {10,33,100,3,2,5,76,124,777,1}; //最大値格納用変数。初期値をマイナスとしておく int Max = -1; //配列の個数分ループを行う for(int idx = 0;idx < num.length;idx = idx + 1){ if( num[idx] > Max ){ //配列の値が最大値か? Max = num[idx]; //最大値の値を更新する } } System.out.println("最大値は"+Max+"です。"); } } |
マスターしたループ(繰り返し)やif命令があります。プログラムを眺めながら動きを確認してください。
ポイントは11行目の変数Maxに初期値-1を設定しているところです。変数Maxは最大値が格納されますので、最初は絶対に最大にならない-1を設定しておきます。
11 |
int Max = -1; |
次のポイントは15行目~17行目です。配列の個数分ループしていますので、その都度配列の値と変数Max(最大値)を比較します。そして最大値(変数Max)の値より配列の値が大きい場合に最大値を更新します。
14 15 16 |
if( num[idx] > Max ){ //配列の値が最大値か? Max = num[idx]; //最大値の値を更新する } |
残額を求める
2,000円でスーパーで買い物をしました。残金を計算するプログラムが下記になります。新規でクラスを作成し、下記を入力するかコピーしてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
package step07; public class Array1 { public static void main(String[] args) { int[] kin = {100,120,200,80,500,220,300};//商品毎の購入金額 int kei = 0; int i; //配列の個数分ループを行う for(i=0; i<kin.length; i=i+1){ kei = kei + kin[i]; //金額の合計を計算 } System.out.println("残高は" + (2000-kei) +"円です"); } } |
プログラムの動きがつかめない場合は変数の値を変えたり、条件を変更したりしながら理解を深めてください。次のチャレンジには難題を用意していますので、ぜひ挑戦してみてください。