명함 관리 프로그램 소스코드
NameCard
public class NameCard {
private String name;
private String officeName;
private String job;
private String phone;
private String officePhone;
private String email;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getOfficeName() {
return officeName;
}
public void setOfficeName(String officeName) {
this.officeName = officeName;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getOfficePhone() {
return officePhone;
}
public void setOfficePhone(String officePhone) {
this.officePhone = officePhone;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Override
public String toString() {
return "NameCard [name=" + name + ", officeName=" + officeName + ", job=" + job + ", phone=" + phone
+ ", officePhone=" + officePhone + ", email=" + email + "]";
}
}
NameCardManager2
import java.util.Scanner;
public class NameCardManager2 {
static final int MAX = 100;
static NameCard[] nameCardList = new NameCard[MAX];
//배열을 사용할 때에는 항상 따라다니는 변수 두 개를 선언해 주세요.
static int index = -1;
static int count = 0;
//스캐너
static Scanner scan = new Scanner(System.in);
public static void main(String[] args) {
//메뉴 처리
while(true) {
System.out.println("메뉴를 입력하세요.");
System.out.println("(I)nsert, (S)elect, (U)pdate, (D)elete, (Q)uit");
String menu = scan.nextLine();
// menu = menu.toLowerCase();
// switch(menu.charAt(0)) {
switch(menu.toLowerCase().charAt(0)) {
case 'i' :
System.out.println("명함 정보를 입력합니다.");
insertNameCardInfo();
break;
case 's' :
System.out.println("명함 정보를 조회합니다.");
index = searchNameCardByName();
if(index >= 0 && index <count) {
printNameCardInfo(index);
}else {
System.out.println("조회한 정보가 없습니다.");
}
break;
case 'u' :
System.out.println("명함 정보를 수정합니다.");
index = searchNameCardByName();
if(0 <= index && index < count) {
updateNameCardInfo(index);
}else {
System.out.println("수정할 정보가 없습니다.");
}
break;
case 'd' :
System.out.println("명함 정보를 삭제합니다.");
index = searchNameCardByName();
if( index>=0 && index<count) {
deleteNameCardInfo(index);
}else {
System.out.println("삭제할 정보가 없습니다.");
}
break;
case 'q' :
System.out.println("프로그램을 종료합니다.");
System.exit(0);
default :
System.out.println("없는 메뉴 입니다.");
break;
}
}//end while
}//end main
private static void deleteNameCardInfo(int idx) {
for(int i=idx; i<count-1; i++) {
nameCardList[i] = nameCardList[i+1];
}
//여기에 들어가야 할 내용은?
count--;
}
private static void updateNameCardInfo(int idx) {
// nameCardList[idx].setOfficeName(updateNameCardDetail("회사명", nameCardList[idx].getOfficeName()));
System.out.println("명함 정보를 수정합니다......");
System.out.printf("회사이름(%s)", nameCardList[idx].getOfficeName());
String officeName = scan.nextLine().trim();
if(officeName != null && officeName.length()>=0) {
nameCardList[idx].setOfficeName(officeName);
}
System.out.printf("직무(%s)", nameCardList[idx].getJob());
String job = scan.nextLine().trim();
if(job != null && job.length() >= 0) {
nameCardList[idx].setJob(job);
}
System.out.printf("전화번호(%s)", nameCardList[idx].getPhone());
String phone = scan.nextLine().trim();
if(phone != null && phone.length() >= 0) {
nameCardList[idx].setPhone(phone);
}
System.out.printf("회사전화번호(%s)", nameCardList[idx].getOfficePhone());
String officePhone = scan.nextLine().trim();
if(officePhone != null && officePhone.length() >= 0) {
nameCardList[idx].setOfficePhone(officePhone);
}
System.out.printf("이메일(%s)", nameCardList[idx].getEmail());
String email = scan.nextLine().trim();
if(email != null && email.length() >= 0) {
nameCardList[idx].setEmail(email);
}
}//end updateNameCardInfo()
// private static String updateNameCardDetail(String msg, String data) {
// System.out.printf("%s(%s):", msg, data); //기존 데이터를 그대로 출력
// String str = scan.nextLine().trim();
// if(str == null || str.length()==0) { //만약 입력한 값이 없을 겨우...
// return data;
// }else {
// return str; //입력한 값
// }
// }
private static int searchNameCardByName() {
System.out.print("이름을 입력하세요 : ");
String name = scan.nextLine().trim();
for(int i=0; i<count; i++) {
if(nameCardList[i].getName().equals(name)) {
return i;
}
}
return -1;
}
private static void insertNameCardInfo() {
NameCard nameCard = new NameCard();
System.out.print("이름: "); nameCard.setName(scan.nextLine().trim());
System.out.print("회사명: "); nameCard.setOfficeName(scan.nextLine().trim());
System.out.print("직무: "); nameCard.setJob(scan.nextLine().trim());
System.out.print("전화번호: "); nameCard.setPhone(scan.nextLine().trim());
System.out.print("회사전화번호: "); nameCard.setOfficePhone(scan.nextLine().trim());
System.out.print("이메일주소: "); nameCard.setEmail(scan.nextLine().trim());
nameCardList[count] = nameCard;
printNameCardInfo(count);
count++;
}
private static void printNameCardInfo(int idx) {
// System.out.println(nameCardList[idx]);
System.out.printf("이름: %s, 회사명: %s, 직무: %s, \n전화: %s, 회사전화: %s, 이메일: %s\n",
nameCardList[idx].getName(), nameCardList[idx].getOfficeName(),
nameCardList[idx].getJob(), nameCardList[idx].getPhone(),
nameCardList[idx].getOfficePhone(), nameCardList[idx].getEmail());
}
}//end class
|