package Friend;
import java.util.Scanner;
//고교친구, 대학친구 정보 중에서 공통 데이터 표현을 위한 클래스
class Friend{
protected String name;
protected String phoneNum;
protected String addr;
//생성자
public Friend(String name, String phone, String addr) {
this.name = name;
phoneNum = phone;
this.addr = addr;
}
//전체 출력을 위한 재정의 할 메소드
public void showData() { //친구 기본정보 + 추가정보 출력하려고 만든 메소드
System.out.println("이름: " + name);
System.out.println("전화: " + phoneNum);
System.out.println("주소: " + addr);
}
public void showBasicInfo() { } //기본정보만 출력하려고 만든 메소드
}
//고교친구
class highschool extends Friend{
String job;
//생성자
public highschool(String name, String phone, String addr, String job) {
super(name, phone, addr);
this.job = job;
}
@Override
public void showData() {
// TODO Auto-generated method stub
super.showData();
System.out.println("직업: "+job);
}
@Override
public void showBasicInfo() {
System.out.println("이름: "+name);
System.out.println("전화: "+phoneNum);
}
}
//대학친구
class university extends highschool{
String major;
//생성자
public university(String name, String phone, String addr, String job, String major) {
super(name, phone, addr, job);
this.major = major;
}
@Override
public void showData() {
// TODO Auto-generated method stub
super.showData();
System.out.println("전공: "+major);
}
@Override
public void showBasicInfo() {
// TODO Auto-generated method stub
System.out.println("이름: "+name);
System.out.println("전화: "+phoneNum);
}
}
class menu{
Scanner scan = new Scanner(System.in);
Friend[] data = new Friend[100];
int cnt = 0;
boolean run = true;
void menu() {
while(true) {
System.out.println("1. 고교 정보 저장");
System.out.println("2. 대학 친구 저장");
System.out.println("3. 전체 정보 출력");
System.out.println("4. 기본 정보 출력");
System.out.println("5. 프로그램 종료");
System.out.print("선택> ");
int select = scan.nextInt();
switch(select) {
case 1:
high();
break;
case 2:
univ();
break;
case 3:
all();
break;
case 4:
basic();
break;
case 5:
System.out.println("프로그램 종료이 종료되었습니다.");
System.exit(0);
}
}
}
void high() { //1.고교정보저장
System.out.print("이름: ");
String name = scan.next();
System.out.print("전화: ");
String phone = scan.next();
System.out.print("주소: ");
String addr = scan.next();
System.out.print("직업: ");
String job = scan.next();
data[cnt++] = new highschool(name,phone,addr,job);
System.out.println("입력이 완료되었습니다!");
}
void univ() { //2.대학친구저장
System.out.print("이름: ");
String name = scan.next();
System.out.print("전화: ");
String phone = scan.next();
System.out.print("주소: ");
String addr = scan.next();
System.out.print("직업: ");
String job = scan.next();
System.out.print("학과: ");
String major = scan.next();
data[cnt++] = new university(name,phone,addr,job,major);
System.out.println("입력이 완료되었습니다!");
}
void all() { //3.전체정보출력
for(int i=0; i<data.length; i++) {
if(data[i] != null) {
data[i].showData();
System.out.println();
}
}
}
void basic() { //4.기본정보출력
for(int i=0; i<data.length; i++) {
if(data[i] != null) {
data[i].showBasicInfo();
System.out.println();
}
}
}
}
public class FriendInfo {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("*** 메뉴를 선택하세요. ***");
menu m = new menu();
m.menu();
}
}
'IT > Java' 카테고리의 다른 글
Java GUI (원 넓이 구하기) (0) | 2021.06.21 |
---|---|
Java (상속_친구정보 등록관리_검색,삭제) (0) | 2021.06.11 |
Java (메소드_콘서트예약프로그램) (0) | 2021.05.31 |
Java (메소드_스케줄관리) (0) | 2021.05.31 |
Java (메소드_한영사전_2차원배열사용) (0) | 2021.05.31 |