반응형

 

문제

 

회원 가입의 addMember의 정보 입력 부분과 updateMember의 정보 입력 부분을 채워 넣으시오.

 

package kr.or.ddit.homework;

import java.util.Scanner;

public class HomeWork14 {
	static Scanner sc = new Scanner(System.in);
	Mem[] memList = new Mem[100];
	int cur =0;
	public static void main(String[] args) {
		HomeWork14 h14 = new HomeWork14(); 
		while(true) {
			System.out.println("1. 회원 가입.");
//			System.out.println("2. 회원 탈퇴.");
			System.out.println("3. 정보 수정.");
			System.out.println("4. 회원 전체 정보 출력.");
			int sel = sc.nextInt();
			if(sel == 1) {
				h14.addMember();
			}
			if(sel == 3) {
				h14.updateMember();
			}
			if(sel == 4) {
				h14.printMemberList();
			}
		}
	}
	
	/*
	 *   회원 가입 메소드 만들기.
	 */
	public void addMember() {
		Mem mem = new Mem();
		
		/*
		 * 정보 입력
		 */
	}
	
	/*
	 *   회원 탈퇴 메소드 만들기.
	 */
	public void removeMember() {
		/*
		 *  회원 전체 정보 출력하기.
		 */
		System.out.print("탈퇴할 회원 번호 입력.");
		int num = sc.nextInt();
		remove(num);
	}
	
	public void remove(int num) {
		Mem[] copyList = new Mem[100];
		// 추후 배포
		int add =0;
		for(int i=0; i<copyList.length; i++) {
			if(i == num) add =1;
			copyList[i] = memList[i+add];
		}
		memList = copyList;
	}
	
	/*
	 *   회원 전체 정보 출력하기.
	 */
	public void printMemberList() {
		for(int i=0; i<cur; i++) {
			Mem mem = memList[i];
			System.out.println(i + "\t" + mem);
		}
	}
	
	/*
	 *   회원 정보 수정하기.
	 */
	public void updateMember() {
		/*
		 *  회원 전체 정보 출력하기.
		 */
		printMemberList();
		
		System.out.print("수정할 회원 번호 입력. ");
		int num = sc.nextInt();
		Mem mem = memList[num];
		/*
		 * 정보 수정
		 */
	}
	
}
class Mem{
	private String id;
	private String pass;
	private String name;
	private int age;
	
	/* 
	 * 생성자 사용x
	 * getter setter 이용할것.  
	 */
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	
	public String getPass() {
		return pass;
	}
	public void setPass(String pass) {
		this.pass = pass;
	}
	
	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;
	}
	
	@Override
	public String toString() {
		return "Mem [id=" + id + ", pass=" + pass + ", name=" + name + ", age=" + age + "]";
	}
}

 

 

 

정답

 

package kr.or.ddit.homework;

import java.util.Scanner;

public class HomeWork14 {
	static Scanner sc = new Scanner(System.in);
	Mem[] memList = new Mem[100];
	int cur =0;
	public static void main(String[] args) {
		HomeWork14 h14 = new HomeWork14(); 
		while(true) {
			System.out.println("1. 회원 가입.");
//			System.out.println("2. 회원 탈퇴.");
			System.out.println("3. 정보 수정.");
			System.out.println("4. 회원 전체 정보 출력.");
			int sel = sc.nextInt();
			if(sel == 1) {
				h14.addMember();
			}
			if(sel == 3) {
				h14.updateMember();
			}
			if(sel == 4) {
				h14.printMemberList();
			}
		}
	}
	
	/*
	 *   회원 가입 메소드 만들기.
	 */
	public void addMember() {
		Mem mem = new Mem();
		
		/*
		 * 정보 입력
		 */
		System.out.println("아이디를 입력하세요.");
		String id = sc.next();
		mem.setId(id);
		
		System.out.println("비밀번호를 입력하세요.");
		String pass = sc.next();
		mem.setPass(pass);

		System.out.println("이름을 입력하세요.");
		String name = sc.next();
		mem.setName(name);
		
		System.out.println("나이를 입력하세요.");
		int age = sc.nextInt();
		mem.setAge(age);
		
		memList[cur++] = mem;
	}
	
	/*
	 *   회원 탈퇴 메소드 만들기.
	 */
	public void removeMember() {
		/*
		 *  회원 전체 정보 출력하기.
		 */
		System.out.print("탈퇴할 회원 번호 입력.");
		int num = sc.nextInt();
		remove(num);
	}
	
	public void remove(int num) {
		Mem[] copyList = new Mem[100];
		// 추후 배포
		int add =0;
		for(int i=0; i<copyList.length; i++) {
			if(i == num) add =1;
			copyList[i] = memList[i+add];
		}
		memList = copyList;
	}
	
	/*
	 *   회원 전체 정보 출력하기.
	 */
	public void printMemberList() {
		for(int i=0; i<cur; i++) {
			Mem mem = memList[i];
			System.out.println(i + "\t" + mem);
		}
	}
	
	/*
	 *   회원 정보 수정하기.
	 */
	public void updateMember() {
		/*
		 *  회원 전체 정보 출력하기.
		 */
		printMemberList();
		
		System.out.print("수정할 회원 번호 입력. ");
		int num = sc.nextInt();
		Mem mem = memList[num];
		/*
		 * 정보 수정
		 */
		System.out.println("수정할 아이디를 입력하세요.");
		String id = sc.next();
		mem.setId(id);
		
		System.out.println("수정할 비밀번호를 입력하세요.");
		String pass = sc.next();
		mem.setPass(pass);

		System.out.println("수정할 이름을 입력하세요.");
		String name = sc.next();
		mem.setName(name);
		
		System.out.println("수정할 나이를 입력하세요.");
		int age = sc.nextInt();
		mem.setAge(age);
	}
	
}
class Mem{
	private String id;
	private String pass;
	private String name;
	private int age;
	
	/* 
	 * 생성자 사용x
	 * getter setter 이용할것.  
	 */
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	
	public String getPass() {
		return pass;
	}
	public void setPass(String pass) {
		this.pass = pass;
	}
	
	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;
	}
	
	@Override
	public String toString() {
		return "Mem [id=" + id + ", pass=" + pass + ", name=" + name + ", age=" + age + "]";
	}
}

 

 

반응형