728x90
반응형
class
public class Person {
private String name;
private int age;
private char gender;
//기본생성자
public Person() { }
//파라미터 생성자
public Person(String name, int age, char gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
//setter
public void setName(String name) {this.name = name;}
public void setAge(int age) {this.age = age;}
public void setGender(char gender) {this.gender = gender;}
//getter
public String getName() {return this.name;}
public int getAge() {return this.age;}
public char getGender() {return this.gender;}
public String getPersonInfo() {
return String.format("[name=%s, age=%d, gender=%c]",name, age, gender);
}
}
control class
public class PersonManager {
private Person[] personArr;
private int personIndex; //private int personIndex = 0;이랑 똑같음(기본값 세팅)
private Scanner sc = new Scanner(System.in);
final int MAX_PERSON = 5; //몇명이 되든 숫자만 바꾸면되기에 유지보수 편리
public PersonManager() {
personArr = new Person[MAX_PERSON];
}
public void initManage() {
insertData();
printData();
}
public void insertData() {
for(int i=0; i<MAX_PERSON; i++) {
System.out.printf("-----------%d-----------%n",i+1);
System.out.print("이름 입력 : ");
String name = sc.next();
System.out.print("나이 입력 : ");
int age = sc.nextInt();
System.out.print("성별(m/f) 입력 : ");
char gender = sc.next().toLowerCase().charAt(0);
Person p =new Person(name, age, gender);
//배열에 대입
personArr[personIndex++] = new Person(name, age, gender);
System.out.println("더 입력하시겠습니까?(y/n) : ");
char yn = sc.next().toLowerCase().charAt(0);
if(yn=='n')
break;
}
System.out.println("=========입력완료=========");
}
public void printData() {
System.out.println("현재 등록된 인원은 ["+personIndex+"]명 입니다.");
for(int i=0; i<personIndex; i++) {
System.out.println(i+" : "+personArr[i].getPersonInfo());
}
}
main class
public class PersonMain {
public static void main(String[] args) {
PersonManager pm = new PersonManager();
pm.initManage();
}
}
반응형
'프로그래밍 > JAVA' 카테고리의 다른 글
04.06(객체 지향언어의 특징과 변수에 따른 소멸시기) (0) | 2020.04.06 |
---|---|
04.03(접근제한자, 메소드, 추상클래스, super, 오버라이딩, 클래스 형변환) (0) | 2020.04.04 |
04.01(반환값과 매개변수가 있고 없는 메소드) (0) | 2020.04.01 |
03.31(.toString, for문을 활용한 예제와 로또번호 생성기) (0) | 2020.03.31 |
03.30(별 출력하기, arguments 입력 받기, 2차원 배열의 초기화) (0) | 2020.03.30 |