Java
[Java] 예제3 (학생 관리 프로그램)
에띠
2022. 4. 17. 15:36
728x90
학생 관리 프로그램을 만들어보자.
결과
메뉴를 선택하세요.(1. 입력 2. 출력 3. 검색 4. 삭제 5. 수정 6. 종료) > 1
학번을 입력하세요 : 10000
반을 입력하세요 : 1
이름을 입력하세요 : 김사과
나이를 입력하세요 : 20
연락처를 입력하세요 : 010-1111-1111
메뉴를 선택하세요.(1. 입력 2. 출력 3. 검색 4. 삭제 5. 수정 6. 종료) > 2
학번 : 10000
반 : 1
이름 : 김사과
나이 : 20
연락처 : 010-1111-1111
....
메뉴를 선택하세요.(1. 입력 2. 출력 3. 검색 4. 삭제 5. 수정 6. 종료) > 3
학번을 입력하세요 : 10000
학번 : 10000
반 : 1
이름 : 김사과
나이 : 20
연락처 : 010-1111-1111
✅ 찾지 못했을 경우 -> "찾는 학생의 정보가 없습니다."
메뉴를 선택하세요.(1. 입력 2. 출력 3. 검색 4. 삭제 5. 수정 6. 종료) > 4
삭제할 학생의 학번을 입력하세요 : 10000
삭제되었습니다.
메뉴를 선택하세요.(1. 입력 2. 출력 3. 검색 4. 삭제 5. 수정 6. 종료) > 5
수정할 학생의 학번을 입력하세요 : 10000
반을 입력하세요 : 1
이름을 입력하세요 : 김사과
나이를 입력하세요 : 20
연락처를 입력하세요 : 010-1111-1111
수정되었습니다
student 클래스
public class Student {
private long stuNum;
private int classNum;
private String name;
private int age;
private String phone;
public Student(long stuNum, int classNum, String name, int age, String phone) {
this.stuNum = stuNum;
this.classNum = classNum;
this.name = name;
this.age = age;
this.phone = phone;
}
public long getStuNum() {
return stuNum;
}
public void setStuNum(int stuNum) {
this.stuNum = stuNum;
}
public int getClassNum() {
return classNum;
}
public void setClassNum(int classNum) {
this.classNum = classNum;
}
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;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
@Override
public String toString() {
return "[ " + name + " | " + "학번 : " + stuNum + ", 반 : " +
classNum + ", 나이 : " + age + ", 연락처 : " + phone + " ] ";
}
}
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;
public class Homework2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ArrayList<Student> students = new ArrayList<>();
int classNum, age;
String name, phone;
long stuNum;
while(true) {
System.out.print("메뉴를 선택하세요.(1. 입력 2. 출력 3. 검색 4. 삭제 5. 수정 6. 종료) : ");
int choice = sc.nextInt();
if (choice == 6) {
System.out.println("프로그램을 종료합니다.");
break;
}
switch (choice) {
case 1:
System.out.print("학번을 입력하세요 : ");
stuNum = sc.nextLong();
System.out.print("반을 입력하세요 : ");
classNum = sc.nextInt();
System.out.print("이름을 입력하세요 : ");
name = sc.next();
System.out.print("나이를 입력하세요 : ");
age = sc.nextInt();
System.out.print("연락처를 입력하세요 : ");
phone = sc.next();
students.add(new Student(stuNum, classNum, name, age, phone));
break;
case 2:
System.out.println("********************* 학생 정보 *********************");
Iterator<Student> iterator = students.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
System.out.println("***************************************************");
break;
case 3:
System.out.print("검색할 학생의 학번을 입력하세요 : ");
long hakbun = sc.nextLong();
Boolean isFind = false;
for (int i = 0; i < students.size(); i++) { // 학번이 존재할 경우
// ArrayListstudents의 i번째 요소의 학번을 가져와서 입력받은 학번과 비교
if (students.get(i).getStuNum() == hakbun) {
isFind = true;
System.out.println(students.get(i));
}
}
if (isFind == false) {
System.out.println("찾는 학생의 정보가 없습니다.");
}
break;
case 4:
System.out.print("삭제할 학생의 학번을 입력하세요 : ");
hakbun = sc.nextLong();
for(int i = 0; i < students.size(); i++) { // 학번이 존재할 경우
// ArrayListstudents의 i번째 요소의 학번을 가져와서 입력받은 학번과 비교
if (students.get(i).getStuNum() == hakbun) {
students.remove(i);
System.out.println("삭제 되었습니다.");
} else {
System.out.println("삭제 실패했습니다");
}
}
break;
case 5:
System.out.print("수정할 학생의 학번을 입력하세요 : ");
hakbun = sc.nextLong();
for (int i = 0; i < students.size(); i++) {
// ArrayListstudents의 i번째 요소의 학번을 가져와서 입력받은 학번과 비교
if (students.get(i).getStuNum() == hakbun) { // 학번이 존재할 경우
System.out.print("반을 입력하세요 : ");
classNum = sc.nextInt();
students.get(i).setClassNum(classNum); // set 메소드 이용하여 해당 인덱스의 값 변경
System.out.print("이름을 입력하세요 : ");
name = sc.next();
students.get(i).setName(name); // set 메소드 이용하여 해당 인덱스의 값 변경
System.out.print("나이를 입력하세요 : ");
age = sc.nextInt();
students.get(i).setAge(age); // set 메소드 이용하여 해당 인덱스의 값 변경
System.out.print("연락처를 입력하세요 : ");
phone = sc.next();
students.get(i).setPhone(phone); // set 메소드 이용하여 해당 인덱스의 값 변경
System.out.println("수정했습니다.");
} else {
System.out.println("수정할 학생의 정보가 존재하지 않습니다.");
}
}
break;
default:
System.out.println("잘못 입력하셨습니다.");
}
}
}
}
728x90