FireDrago
[java] 회원정보 입력 , 출력 (ArrayList 활용) 본문
<원하는 기능>
1. 회원의 이름, 나이, 연봉을 객체로 담는다.
2. 정의한 객체를 ArrayList에 담고, 출력한다.
(데이터 > 객체 > ArrayList )
가장 먼저 해야할 것은 무엇일까? 데이터를 저장하기위한 클래스를 만든다.
class Person { //데이터 저장 클래스
private String name;
private int age;
private int pay;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getPay() {
return pay;
}
public void setPay(int pay) {
this.pay = pay;
}
Person 클래스의 멤버변수 name , age, pay 는 저장될 데이터를 의미한다. ArrayList는 이 Person 객체를 저장한다.
다음으로 Main 클래스를 만든다.
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("종료 : 0");
System.out.println("사원입력 : 1");
System.out.println("사원 조회 : 2");
int ans = sc.nextInt();
if (ans == 1) {
Input.generate();
} else if (ans == 2) {
Print.print();
} else if (ans == 0) {
break;
} else continue;
}
}
}
사용자에게 숫자 0, 1, 2 셋중 하나를 입력받아 그 수에따라 데이터 입력, 데이터 출력, 다시 입력을 구현하도록 만든다.
데이터 입력을 담당하는 Input 클래스를 만든다.
class Input {
private static ArrayList<Person> al = new ArrayList<Person>();
// private으로 캡슐화
static ArrayList<Person> getarr() {
return al;
} // get 메서드로 ArrayList 참조값 받아오기
static void generate() {
Scanner ss = new Scanner (System.in);
Scanner sc = new Scanner (System.in);
Person ps = new Person();
System.out.println("이름을 입력하세요");
String name = ss.nextLine();
ps.setName(name);
System.out.println("나이를 입력하세요");
int age = sc.nextInt();
ps.setAge(age);
System.out.println("연봉을 입력하세요");
int pay = sc.nextInt();
ps.setAge(pay);
// 데이터를 객체의 멤버변수에 담기
al.add(ps);// 만들어진 객체를 ArrayList에 담기
}
}
마지막으로 ArrayList 출력을 위한 Print 클래스를 만든다. 출력은 생성의 역순으로 꺼내어 출력한다.
class Print {
static void print () {
ArrayList<Person> pl = Input.getarr();
for (int i=0; i<pl.size(); i++) {
Person tmp = pl.get(i);
System.out.println(tmp.getName());
System.out.println(tmp.getAge());
System.out.println(tmp.getPay());
}
}
}'프로그래밍 > Java' 카테고리의 다른 글
| [JAVA] 입력받고 유효성 검사하기 (0) | 2023.07.15 |
|---|---|
| [java] FileInputStream /OutputStream 사용 (0) | 2023.05.11 |
| [java] LocalDate/LocalTime 메서드 정리 (0) | 2023.05.04 |
| [java] String 클래스의 유용한 메서드 (0) | 2023.05.03 |
| [java] 인터페이스 예제로 정리하기 (0) | 2023.05.02 |
