2017 2nd Semester 한양대 에리카 프로그래밍설계방법론 4주차 실습 StudentManager


목표



코드


StudentManager.class


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;

}

}



실행 화면



파일


2017011830_김재현.zip