본문 바로가기

카테고리 없음

과제1. = ArrayTest + Day09Ex06

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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
package comstudy0901;
 
import java.util.Arrays;
import java.util.Scanner;
 
public class ArrayTest {
    
    private int idx;
    private String name;
    private String phone;
    
 
 
 
    public int getIdx() {
        return idx;
    }
 
 
 
 
    public void setIdx(int idx) {
        this.idx = idx;
    }
 
 
 
 
    public String getName() {
        return name;
    }
 
 
 
 
    public void setName(String name) {
        this.name = name;
    }
 
 
 
 
    public String getPhone() {
        return phone;
    }
 
 
 
 
    public void setPhone(String phone) {
        this.phone = phone;
    }
 
 
 
 
    @Override
    public String toString() {
        return "["+ idx + ","  + name + "," + phone + "]";
    }
 
 
 
 
    public static void main(String[] args) {
        
        Scanner scanner= new Scanner(System.in);
        
        people[] pArr= new people[3]; //피플타입의 배열 생성. 참조변수가 세 개 만들어진것.
        
        
        //people 객체에 데이터를 저장하고 출력하라
        // 세 명의 이름과 전화번호를 입력받아서 pArr배열에 저장하여라
                
        
        for(int i=0; i<pArr.length; i++) {
            //pArr[i] = new people();
            //pArr[i].setIdx(i);   // 이렇게 하거나
            
            
            //1. people 객체를 만든다   //세번
            people p = new people();
            System.out.println("성명 입력: ");
            p.setName(scanner.next());
            System.out.println("전화번호 입력: ");
            p.setPhone(scanner.next());
            
 
            //2. people 객체에 값을 넣는다.
            p.setIdx(i);   //세번
            
            //3. people 객체를 pArr에 추가한다.
            pArr[i]= p;  //세번입력됨
        }
        
        System.out.println(Arrays.toString(pArr));
    }
}
 
cs

 

 

 

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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
package day_09_03;
 
import java.util.Scanner;
 
import comstudy0901.people;
 
public class Day09Ex06 {
    
    public static final int MAX= 100;
    private people[] pArr= new people[MAX];
    private int top= 0;        // 삭제가 일어나면 감소된다. 
    private int sequence = 0; // 객체가 생성될때 감소 없이 계속 증가 < idx에 사용.
    
    public static final Scanner scanner= new Scanner(System.in);
    
    public Day09Ex06() {
        System.out.println("디폴트 생성자 호출!");
        
        while(true) {
            run();
        }
    }
    
    public void run() {
        switch(menu()) {
        case 1 : input();  break; //기능을 함수로 따로 빼준다. 
        case 2 : output(); break;
        case 3 :
        case 4 :
        case 5 :
        case 6 : 
                System.out.println("종료..."); 
                System.exit(0);
                break;
        default : System.out.println("해당 기능은 없습니다");
        }
        System.out.println("---------------------------");
    }
    
    public int menu() {
        int no= 0;
        System.out.println("1.입력  2.출력  3.검색  4.수정  5.삭제  6.종료");
        System.out.print("선택: ");
        no= scanner.nextInt();
        return no;
    }
    
    // pArr에 people 객체를 추가한다.
    public void input() {
        System.out.println("입력기능...");
        
        
        // 더 이상 입력 할 수 없다면 바로 끝내기
        if(top >= pArr.length) {  // 탑이 더 크다면
            System.out.println("더 이상 입력불가능합니다!");
            
            return; // 여기서 끝나버림
        }
        
        // 1. 객체생성
        people p = new people();
        // 2. 객체에 데이터 넣기
        p.setIdx(sequence++);
        System.out.print("성명 입력: ");
        p.setName(scanner.next());
        System.out.print("성명 입력: ");
        p.setPhone(scanner.next());
        
        
        // 3. 객체를 배열의 top번지에 담기
        pArr[top++]= p;
        
        System.out.println("입력 완료");
        
        
        
        
    }
    
    public void output() {
        System.out.println("출력기능...");
        // pArr의 요소를 top까지 반복해서 출력한다. 
        
        for(people p : pArr) {
            if(p==null) break;
            System.out.println(p);
        }
    }
    
    
    public static void main(String[] args) {
        new Day09Ex06();
            
 
    }
}
cs