2017 2nd Semester 한양대 에리카 프로그래밍설계방법론 4주차 실습 StudentManager
목표
코드
package sils3;
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManager {
Scanner Scanner = new Scanner(System.in);
ArrayList<StudentInfo> SIL = new ArrayList<StudentInfo>();
StudentManager(){
start();
Scanner.close();
}
public void sign() { /* Sign Up Method */
String sName;
int sAge;
int sSID;
String sPhoneN;
System.out.print("Input Name : "); /* input Name */
sName = Scanner.next();
System.out.print("Input Age : "); /* input Age */
sAge = Scanner.nextInt();
System.out.print("Input Student ID : "); /* input StudentID */
sSID = Scanner.nextInt();
System.out.print("Input Phone Number : "); /* input PhoneNumber */
sPhoneN = Scanner.next();
StudentInfo stInfo = new StudentInfo(sName, sAge, sSID, sPhoneN);
System.out.println(stInfo);
SIL.add(stInfo); /* Add to ArrayList */
}
public void modify() { /* Modify Method */
int cnt = 1; /* for "No." Print */
int modiN;
int mAge, mSID;
String mName, mPhoneN;
System.out.println("No. Name Age Student ID Phone Number");
for ( StudentInfo student : SIL ) {
System.out.format("%-13d%-13s%-13d%-13d%-13s\n", cnt, student.getUserName(), student.getUserAge(), student.getUserSID(), student.getUserPhoneN());
cnt++;
}
System.out.print("==> Input modify No. : ");
modiN = Scanner.nextInt();
System.out.print("Input Name : "); /* Name input */
mName = Scanner.next();
System.out.print("Input Age : "); /* Age input */
mAge = Scanner.nextInt();
System.out.print("Input Student ID : "); /* StudentID input */
mSID = Scanner.nextInt();
System.out.print("Input Phone Number : "); /* PhoneNumber input */
mPhoneN = Scanner.next();
StudentInfo stInfo = new StudentInfo(mName, mAge, mSID, mPhoneN);
SIL.set(modiN-1, stInfo); /* Set ArrayList's (modiN-1)th Index Data */
}
public void delete() {
int cnt = 1; /* for "No." print */
System.out.println("No. Name Age Student ID Phone Number");
for ( StudentInfo student : SIL ) {
System.out.format("%-13d%-13s%-13d%-13d%-13s\n", cnt, student.getUserName(), student.getUserAge(), student.getUserSID(), student.getUserPhoneN());
cnt++;
}
System.out.print("==> Input delete No. : ");
int delN = Scanner.nextInt();
SIL.remove(delN-1); /* Remove ArrayList's (delN-1)th Index Data */
}
public void list() {
System.out.println("Name Age Student ID Phone Number");
for ( StudentInfo student : SIL ) {
System.out.format("%-13s%-13d%-13d%-13s\n", student.getUserName(), student.getUserAge(), student.getUserSID(), student.getUserPhoneN() );
}
}
public void namesearch() {
System.out.print("Input Search Name : ");
String nsName = Scanner.next();
int cnt = 1, cntn = 0; /* cnt for "No." print cntn for PrintForm only First */
for ( StudentInfo student : SIL ) {
if (student.getUserName().equals(nsName)) { /* if student's name == nsName */
if (cntn == 0) { /* First Form */
System.out.println("No. Name Age Student ID Phone Number");
cntn++;
}
System.out.format("%-13d%-13s%-13d%-13d%-13s\n", cnt ,student.getUserName(), student.getUserAge(), student.getUserSID(), student.getUserPhoneN() );
}
cnt++;
}
}
public void IDsearch() {
System.out.print("Input Search ID : ");
int nsSID = Scanner.nextInt();
int cnt = 1, cntn = 0; /* cnt for "No." print cntn for PrintForm only First */
for ( StudentInfo student : SIL ) {
if (student.getUserSID() == nsSID) { /* if student's ID == nsSID */
if (cntn == 0) { /* First Form */
System.out.println("No. Name Age Student ID Phone Number");
cntn++;
}
System.out.format("%-13d%-13s%-13d%-13d%-13s\n", cnt ,student.getUserName(), student.getUserAge(), student.getUserSID(), student.getUserPhoneN() );
}
cnt++;
}
}
public void quit() {
System.out.println("Porgram Finished");
}
void start() {
while(true) {
System.out.println("--------------------------------------------------------------------------");
System.out.println("1) sign up 2) modify 3) delete 4) list 5) name search 6) ID search 7) Quit");
System.out.println("--------------------------------------------------------------------------");
int caseN = Scanner.nextInt();
if (caseN == 1) {
sign();
}
if (caseN == 2) {
modify();
}
if (caseN == 3) {
delete();
}
if (caseN == 4) {
list();
}
if (caseN == 5) {
namesearch();
}
if (caseN == 6) {
IDsearch();
}
if (caseN == 7) {
quit();
break;
}
}
}
}
Run.class
package sils3;
public class Run {
public static void main(String[] args) {
new StudentManager(); /* Create StudentManager Class */
}
}
UserInfo.class
package sils3;
public class UserInfo {
private String userName;
private int userAge;
public UserInfo(String uName, int uAge) {
userName = uName;
userAge = uAge;
}
void setUserName(String uName) {
userName = uName;
}
void setUserAge(int uAge) {
userAge = uAge;
}
String getUserName() {
return userName;
}
int getUserAge() {
return userAge;
}
}
StudentInfo.class
package sils3;
public class StudentInfo extends UserInfo {
private int userSID;
private String userPhoneN;
public StudentInfo(String uName, int uAge, int uSID, String uPhoneN) {
super(uName, uAge);
userSID = uSID;
userPhoneN = uPhoneN;
}
void setUserSID(int uSID) {
userSID = uSID;
}
void setUserAge(String uPhoneN) {
userPhoneN = uPhoneN;
}
int getUserSID() {
return userSID;
}
String getUserPhoneN() {
return userPhoneN;
}
}
'Coding' 카테고리의 다른 글
[BOJ][ZOAC 2019]18243번 - Small World Network (0) | 2019.12.30 |
---|---|
[BOJ][ZOAC 2019]18238번 - ZOAC 2 (0) | 2019.12.30 |
2018.04.18 1st Semester 한양대 에리카 자료구조 과제 LinkedStack, LinkedQueue (1) | 2018.04.18 |
2018.04.03 1st Semester 한양대 에리카 자료구조 과제 DoublyLinkedList (0) | 2018.04.18 |
2018.03.28 1st Semester 한양대 에리카 자료구조 과제 SinglyLinkedList (0) | 2018.03.29 |