では最後の チャレンジ問題(家計簿プログラム) に挑戦しましょう。
ここでは「配列を使って1週間分の支出を管理し、合計・平均・最大支出日を求める」プログラムを作ります。
問題設定
- 入力: 1週間分の支出を
double[]配列に保存する
例:{1200.5, 980.0, 300.0, 150.0, 2000.0, 500.0, 750.0} - 出力:
- 合計支出
- 平均支出
- 最大支出とその曜日
サンプルコード
public class Main {
public static void main(String[] args) {
// 1週間分の支出(例)
double[] expenses = {1200.5, 980.0, 300.0, 150.0, 2000.0, 500.0, 750.0};
String[] days = {"月曜", "火曜", "水曜", "木曜", "金曜", "土曜", "日曜"};
// 合計と平均
double sum = 0;
for (int i = 0; i < expenses.length; i++) {
sum += expenses[i];
}
double average = sum / expenses.length;
// 最大支出と曜日
double max = expenses[0];
int maxIndex = 0;
for (int i = 1; i < expenses.length; i++) {
if (expenses[i] > max) {
max = expenses[i];
maxIndex = i;
}
}
// 結果表示
System.out.println("合計支出: " + sum);
System.out.println("平均支出: " + average);
System.out.println("最大支出: " + max + " (" + days[maxIndex] + ")");
}
}
Java実行結果(上の例の場合)
合計支出: 5880.5
平均支出: 840.0714285714286
最大支出: 2000.0 (金曜)
✅ ポイント
- 配列でまとめる: 1週間分の支出を1つの変数で管理できる
- ループで処理: 合計や平均を簡単に計算できる
- インデックスで曜日を紐づけ: 最大支出がどの日かもわかる


