반응형
문제
회원 가입의 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 + "]";
}
}
반응형
'자바' 카테고리의 다른 글
[Java 초급] 17.5장 테스트 (0) | 2023.12.26 |
---|---|
[Java 초급] 17장 상속, 다형성 (2) | 2023.12.26 |
[Java 초급] 16장 Getter, Setter, 재귀함수 (0) | 2023.12.22 |
[Java 초급] 15.5.1장 테스트1 (0) | 2023.12.21 |
[Java 초급] 15장 enum 타입, static, 싱글톤 (0) | 2023.12.20 |