AR삽질러

Java - ArrayList 연습문제_회원관리 본문

JAVA

Java - ArrayList 연습문제_회원관리

아랑팡팡 2023. 4. 17. 12:19
728x90

Java - ArrayList 연습문제_회원관리

1. 이름, 나이, 번호를 입력받는다.

2. 회원 목록, 출력, 삽입, 수정, 삭제, 종료 기능을 만들어 실행해본다.

 

Interface : MemberService

class : Member, MemberServiceImplm MemberMain

 

Member

package array;

public class Member {
	private String name;
	private int age;
	private String phon;
	
	public Member(String name, int age, String phon) {
		super();
		this.name = name;
		this.age = age;
		this.phon = phon;
	}

	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 String getPhon() {
		return phon;
	}

	public void setPhon(String phon) {
		this.phon = phon;
	}
	
	public void memberList() {
		System.out.println(name + "회원 || " + "살 || " + phon + "번" );
	}
	
}

 

MemberService

package array;

public interface MemberService {
	
	public abstract void list();
	public abstract void view();
	public abstract void insert();
	public abstract void edit();
	public abstract void delete();
	public abstract void exit();
}

 

MemberMain

package array;

import java.util.Scanner;

public class MemberMain {
	public static void main(String[] args) {
		
		MemberService service = new MemberServiceImpl();
		Scanner scan = new Scanner(System.in);
		
		while(true) {
			System.out.println();
			System.out.println("--회원관리프로그램--");
			System.out.println("1.목록 | 2.조회 | 3.등록 | 4.수정 | 5.삭제 | 6.종료");
			System.out.println("--------------");
			System.out.print("입력 : ");
			int select = scan.nextInt();
			switch (select) {
			case 1:
				service.list();
				break;
			case 2:
				service.view();
				break;
			case 3:
				service.insert();
				break;
			case 4:
				service.edit();
				break;
			case 5:
				service.delete();
				break;
			case 6:
				service.exit();
				break;
			default:
				System.out.println("잘못입력하셨습니다.");
			}
		}
	}
}

 

MemberServiceImpl

package array;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;

public class MemberServiceImpl implements MemberService{

	private ArrayList<Member> list = new ArrayList<>();
	private Scanner scan = new Scanner(System.in);
	
	@Override // 회원목록
	public void list() {
		System.out.println("--모든회원목록--");
		if(list.size() == 0) {
			System.out.println("현재 등록된 회원이 없습니다..");
			System.out.println("회원을 등록해주세요!");
			return;
		}
		for(int i = 0; i < list.size(); i++) {
			Member member = list.get(i);
			member.memberList();
		}
	}

	@Override // 이름을 입력받아 회원정보출력
	public void view() {
		System.out.println("--회원정보출력--");
		System.out.print("회원의 이름을 입력해주세요 : ");
		String name = scan.next();
		for(Member member : list) {
			if(member.getName().equals(name)) {
				member.memberList();
				return;
			}
		}
		System.out.println("입력하신 회원은 존재하지 않습니다..");
	}

	@Override // 이름 나이 전화번호를 입력받아 회원등록
	public void insert() {
		System.out.println("--회원등록--");
		System.out.print("회원의 이름을 입력해주세요 : ");
		String name = scan.next();
		System.out.print("회원의 나이을 입력해주세요 : ");
		int age = scan.nextInt();
		System.out.print("회원의 번호을 입력해주세요 : ");
		String phon = scan.next();
		list.add(new Member(name, age, phon));
	}

	@Override // 이름을 입력받아 회원의 나이, 번호 수정
	public void edit() {
		System.out.println("--회원수정--");
		System.out.print("수정할 회원이름을 입력해주세요 : ");
		String name = scan.next();
		for(int i = 0; i < list.size(); i++) {
			Member edit = list.get(i);
			if(edit.getName().equals(name)){
				System.out.println(name + "님의 나이는 + " + edit.getAge() + "번호는 " + edit.getPhon() + "입니다.");
				System.out.print(name + "님의 나이 수정 : ");
				int newage = scan.nextInt();
				System.out.print(name + "님의 번호 수정 : ");
				String newphon = scan.next();
				edit.setAge(newage);
				edit.setPhon(newphon);
				System.out.println(name + "님의 나이는 " + newage + "번호는 " + newphon + "로 수정되었습니다.");
				return;
			}
		}
		System.out.println("입력하신 회원은 존재하지 않습니다..");
	}

	@Override // 이름을 입력받아 회원삭제
	public void delete() {
		System.out.println("--회원삭제--");
		System.out.print("삭제할 회원이름을 입력해주세요 : ");
		String name = scan.next();
		for(Iterator<Member> memberiter = list.iterator(); memberiter.hasNext();) {
			Member member = memberiter.next();
			if(member.getName().equals(name)) {
				memberiter.remove();
				System.out.println(name + "회원이 삭제되었습니다.");
				return;
			}
		}
		System.out.println("입력하신 회원은 존재하지않습니다.");
	}

	@Override
	public void exit() {
		System.out.println("프로그램을 종료합니다..");
		System.exit(0);
	}

}

 

728x90
반응형
LIST

'JAVA' 카테고리의 다른 글

Java - 입출력(I/O)  (0) 2023.04.17
Java - Collection-Map연습문제  (0) 2023.04.17
Java - Collection-List연습문제  (0) 2023.04.17
Java - Collection-Set연습문제  (0) 2023.04.17
Java - Collection Framework (Set Collection)  (0) 2023.04.14