では、プログラミング初心者向けに 配列コピーの練習になるミニアプリ を作ってみましょう。
テーマは「成績表の点数をコピーして、コピーした配列で計算(平均・補正)をする」です。
Java ミニアプリ例:成績表コピーと計算
import java.util.Arrays;
import java.util.Scanner;
public class GradeCopyApp {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 1️⃣ 元の成績配列を作成(ユーザー入力)
int[] originalScores = new int[5]; // 5人分の点数
System.out.println("=== 成績入力 ===");
for (int i = 0; i < originalScores.length; i++) {
System.out.print((i + 1) + "人目の点数: ");
originalScores[i] = sc.nextInt();
}
// 2️⃣ 配列をコピーして計算用に使う
int[] calcScores = Arrays.copyOf(originalScores, originalScores.length);
// 3️⃣ 計算用配列を補正(例:5点加点)
for (int i = 0; i < calcScores.length; i++) {
calcScores[i] += 5;
}
// 4️⃣ 元の配列とコピー配列を表示
System.out.println("\n=== 元の成績 ===");
System.out.println(Arrays.toString(originalScores));
System.out.println("=== 補正後の成績(コピー配列) ===");
System.out.println(Arrays.toString(calcScores));
// 5️⃣ コピー配列の平均点を計算
int sum = 0;
for (int score : calcScores) {
sum += score;
}
double average = (double) sum / calcScores.length;
System.out.println("補正後の平均点: " + average);
}
}
Javaこのミニアプリで学べること
- 配列コピーの使い方
int[] calcScores = Arrays.copyOf(originalScores, originalScores.length);- 元の点数配列を壊さずに、別の配列で計算できる。
- 元の配列とコピー配列の独立性
calcScoresを変更してもoriginalScoresはそのまま。
- 配列操作の基本
- ループで要素を操作する方法
- 配列の合計・平均の計算
- Scanner を使ったユーザー入力
- 実務風の入力方法を体験
実行例
=== 成績入力 ===
1人目の点数: 70
2人目の点数: 85
3人目の点数: 60
4人目の点数: 90
5人目の点数: 75
=== 元の成績 ===
[70, 85, 60, 90, 75]
=== 補正後の成績(コピー配列) ===
[75, 90, 65, 95, 80]
補正後の平均点: 81.0
ポイント
- 元配列を壊さずコピーしてから計算することで、オリジナルのデータを残すことができます。
- 配列コピーは、成績計算だけでなく「元データを残して加工する」場面でよく使うテクニックです。
