JAVA_Learn/Do it! _ Algorithm Study

#10. 3주차 과제 3 [Chap04_4C-1]

CEJ_0929 2022. 1. 14. 13:35

4C-1. (LastNElements) _ 마지막 N개만 저장하는 순환배열만들기.

 

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
42
43
44
package practice;
 
import java.util.Scanner;
/*
 * 원하는 개수만큼 값을 입력 받아
 * 요솟수가 N인 배열에 마지막 N개를 저장.
 * 
 *  데이터를 계속 입력할 수는 있지만 저장은 10개만 한다.
 *  11번째 값이 입력되면 기존 0번방에 덮어쓰게 됨.
 *  
 *  10개만 쓸거다! 라고 하면 더 간단하게 할 수 있겠지만
 *  아래와 같이 코드를 쓴다면 재사용성이 더 높아질 것.
 *  N값만 조절하면 되니까.
 * 
 */
public class LastNElements_4C_1 {
    public static void main(String[] args) {
        Scanner stdIn = new Scanner(System.in);
        
        final int N = 10;
        int[]a = new int[N];
        int cnt = 0;
        int retry;
        
        System.out.println("정수를 입력하세요.");
        
        do {
            System.out.printf("%d번째 정수: ",cnt+1);
            a[cnt++ % N] = stdIn.nextInt();
            
            System.out.print("계속할까요? (예.1 / 아니오.0): ");
            retry = stdIn.nextInt();
        }while(retry==1);
        
        int i = cnt-N;
        if(i<0) i=0;
        
        for (; i < cnt; i++
            System.out.printf("%2d번째 정수=%d\n",i+1,a[i%N]);
        
    }
 
}
 
cs