演習No.9 配列

配列配列例題を参照

問題1 配列要素の各値の処理

次のプログラムは以下に示す機能を持っています。

プログラムの空欄を埋め、正しく動作するものにしなさい。

// 配列のデータの合計と比率計算
import java.io.*;
import java.text.*;

class Goukei_Hiritu {
  public static void main(String args[]){
// 変数宣言
    int i;  // ループカウンター
    double Gokei = (1), Hiritu, N; // 合計(初期化)、比率、入力データ
    double ID[] = new double[(2)];// 入力データを保存する配列
    String s;
    Number Num;
    DecimalFormat DF = new DecimalFormat();
    BufferedReader BR = new BufferedReader(new InputStreamReader(System.in));
    
// データの入力と合計計算
    for (i = (3); i <= (4); i++){
      System.out.print((i + 1) + "個目のデータを入力してください : ");
      try {
        s = BR.readLine();
        Num = DF.parse(s);
        N = Num.(5)();
      }
      catch (Exception e) {N = 0;}
// 入力されたデータを配列に代入
      (6) = N;
// 合計の計算
      Gokei += (7);
    }

// 合計の表示
    System.out.println("合計は " + Gokei + " です。");

// 各データの比率計算
    for (i = 0; i <= 4; i++){
      Hiritu = (6) / Gokei * 100;
      System.out.println((i + 1) + "個目のデータ " + ID[i] + " は全体の " + Hiritu + " %です。");
    }
  }
}

問題2 特急料金

switch文の問題にあった特急料金のプログラムを配列を使ったプログラムに変更する。プログラムの空欄を埋めなさい。

プログラムの要点を以下に示す。

利用距離(km)
料金を記憶する配列
1から100
Ryokin[0]
101から200
Ryokin[1]
201から300
Ryokin[2]
301から400
Ryokin[3]
401から500
Ryokin[4]
501から600
Ryokin[5]
// 特急料金 配列版
import java.io.*;
import java.text.*;

class TokkyuRyokin_Array {
  public static void main(String args[]){
    int Ryokin; // 特急料金
    int RD[] = {(1), (2), (3), (4), (5), (6)}; // 特急料金データ保存配列
    int Riyoukyori; // 利用距離
    int A; // 利用距離からの変換値を記憶
    String s;
    Number Num;
    DecimalFormat DF = new DecimalFormat();
    BufferedReader BR = new BufferedReader(new InputStreamReader(System.in));

// 特急料金の初期値を設定
    Ryokin = (7);

// 利用距離の入力
    System.out.print("利用距離を入力してください : ");
    try {
      s = BR.readLine();
      Num = DF.parse(s);
      Riyoukyori = Num.intValue();
    }
    catch (Exception e) { Riyoukyori = 0; }

// 0以上の時は利用距離から料金算出。
    if(Riyoukyori > (8)){

// 利用距離から配列アクセス用数値の計算
      A = (9);
// 利用距離が600km以下の時の料金算出
      if (A <= (10)) {
	    Ryokin = RD[(11)];
	  }
// 結果の表示
      System.out.println("利用距離" + Riyoukyori + "の特急料金は" + Ryokin + "円です。");
    } else {
      System.out.println("利用距離が0キロ未満なので料金計算できません");
    }
  }
}

問題3 最小値の検出

例題のプログラムを参考に配列に格納したデータから最小値を検出するプログラムを作りなさい。

処理手順の要点を以下に示す。