正答例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
package challenge07; public class Merge { public static void main(String[] args) { int A[] = {162,168,170,175,177}; //A市名簿 int B[] = {161,163,166,172,185}; //B市名簿 int[] C = new int[10]; //C市名簿 int idx_a = 0; //A市名簿配列用の番号 int idx_b = 0; //B市名簿配列用の番号 int idx_c = 0; //C市名簿配列用の番号 //C市の名簿分ループを行う for(idx_c=0; idx_c<C.length; idx_c=idx_c+1){ if(A[idx_a] < B[idx_b]){ //A<B C[idx_c] = A[idx_a]; idx_a=idx_a+1; if(idx_a>=A.length) { //A市名簿が終了 idx_a = idx_a -1; //最後に最大値を設定 A[idx_a] = 999; } } else{ //B<A C[idx_c] = B[idx_b]; idx_b=idx_b+1; if(idx_b>=B.length) { //B市名簿が終了 idx_b = idx_a -1; //最後に最大値を設定 B[idx_b] = 999; } } } //C市名簿表示 for(idx_c=0;idx_c<C.length;idx_c=idx_c+1) { System.out.println(C[idx_c]); } } } |