[java] 학생 관리 프로그램 (1)

2022. 4. 24. 19:23·언어/java
728x90
import java.util.ArrayList;
import java.util.Scanner;

public class students {
    public static void main(String[] args) {
        int number;
        int ID;
        String name;
        String birth;
        String major;
        int PW;
        int i = 0;


        ArrayList<ArrayList> students = new ArrayList<ArrayList>();
        ArrayList Infos = new ArrayList();

        Scanner sc = new Scanner(System.in);

        while (true) {
            System.out.println("관리자이시면 1번을 학생이시면 2번을 눌러주세요. 종료하시려면 0번을 누르세요.");
            number = sc.nextInt();

            if (number == 1) {

                System.out.println("비밀번호를 입력하세요.");
                PW = sc.nextInt();

                while (true) {

                    if (PW == 11111) {
                        System.out.println("학생 이름을 입력하세요.");
                        name = sc.next();
                        System.out.println(name + " 학생의 생년월일을 입력하세요( 예: 99.01.01 ).");
                        birth = sc.next();
                        System.out.println(name + " 학생 학과를 입력하세요.");
                        major = sc.next();

                        Infos.add(name);
                        Infos.add(birth);
                        Infos.add(major);

                        students.add(i, Infos);

                        System.out.println("학생 학번 : " + (i+1) + " 번" + "\n학생의 이름 : " + name + "\n학생 생년월일 : " + birth + "\n학생 학과 : " + major);
//                        System.out.println("학생 이름 : " + students.get(ID).get(0) + "\n학생 생년월일 : " + students.get(ID).get(1) + "\n학생 학과 : " + students.get(ID).get(2));
                        i++;


                        System.out.println("정보를 더 입력하시려면 1번을 메인 화면으로 돌아가시려면 2번을 눌러주세요.");
                        number = sc.nextInt();
                        if (number == 1) {
                            continue;
                        } else {
                            break;
                        }

                    } else {
                        System.out.println("잘못 입력하셨습니다. 다시 시도해주세요.");
                        break;
                    }
                }

            } else if (number == 2) {
                System.out.println("학번을 입력하세요.");
                ID = sc.nextInt();
                ID = i;

                System.out.println("학생 이름 : " + students.get(ID-1).get(0) + "\n학생 생년월일 : " + students.get(ID-1).get(1) + "\n학생 학과 : " + students.get(ID-1).get(2));

            } else if (number == 0) {
                break;
            } else {
                System.out.println("잘못 입력하셨습니다. 다시 시도해주세요.");
            }
        }
    }
}

아직 완성은 아니다.

클론 코딩이 아닌 내 힘으로 해낸 코딩인 게 의미가 있다고 판단해서 올려본다.

이 문제를 해결하기 위해 같은 결과를 출력해내는 다른 프로그램을 짜볼 것이다.

원래는 i의 숫자를 하나씩 증가시키면서 이 숫자가 곧 학번인 식으로 코딩을 했는데,

다음에는 map을 이용해 학번을 지정해주는 방식을 이용해보겠다.

​

<가장 큰 문제점>

1. 학생 입장에서 학번을 검색하면 아무리 다른 숫자를 넣어도 학번 1번인 학생의 정보만 출력됨.

2. if문이 과도하게 많이 사용됨.

728x90

'언어 > java' 카테고리의 다른 글

[이클립스] Eclipse 빨간줄, 노란줄, 초록줄 형광펜 없애기  (0) 2023.09.19
[java] 학생 관리 프로그램 (4) - db 연결 후 select  (0) 2022.04.24
[java] 학생 관리 프로그램 (3) - db 연결 후 insert, update, delete  (0) 2022.04.24
[java] 학생 관리 프로그램 (2)  (0) 2022.04.24
[java] 중복 없는 숫자 랜덤 생성기  (0) 2022.04.24
'언어/java' 카테고리의 다른 글
  • [java] 학생 관리 프로그램 (4) - db 연결 후 select
  • [java] 학생 관리 프로그램 (3) - db 연결 후 insert, update, delete
  • [java] 학생 관리 프로그램 (2)
  • [java] 중복 없는 숫자 랜덤 생성기
돌멩이수프
돌멩이수프
Information technology
  • 돌멩이수프
    WHAT DOES "IT" STAND FOR?
    돌멩이수프
  • 전체
    오늘
    어제
    • 분류 전체보기 (238)
      • 언어 (73)
        • html (3)
        • css (1)
        • java (6)
        • C (26)
        • C++ (2)
        • C# (29)
      • 공부 (7)
        • Unity (43)
        • 게임 서버 (26)
        • 네트워크 (5)
        • 데이터베이스 (7)
        • EFCore (19)
        • 기타 (14)
        • Git (5)
        • 운영체제 (1)
        • 소프트웨어공학 (21)
      • 2024-여름 (12)
      • 자기 관리 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    게임서버
    java
    네트워크
    coding
    자바
    Entityfamework
    라즈베리파이
    tcp
    C
    백준
    HTML
    Python
    unity
    유니티
    코딩
    C언어
    디자인패턴
    C#
    EntityFramework
    EFCore
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
돌멩이수프
[java] 학생 관리 프로그램 (1)
상단으로

티스토리툴바