자바(JAVA) 알고리즘 기초 1 – 학생정보관리(while, for each, Array list)

이번에는 자바의 기초 while문자, for each, array list문 등을 이용해서 학생정보 관리 프로그램이다.

알고리즘 기초를 공부할때 도움이 될거같다.
상세한 내용은 주석에 잘 써놨으니까 참고할려면 참고하면 되겠다.

studnt 클래스 이지만 편의상 Algorithms_12 로 대체했다.

메인클래스 Algorithms 의 변수선언 부분 (너무길어서 자름)

변수 선언 이후에 While 안에 While문

Algorithms_12 코드

//student라고 해야하지만 클래스관리 편의상 Algorighms_12로 대체
public class Algorithms_12 {
   
   //웬만하면 Private으로
   
   private String name;
   private String no;
   
   //생성메소드
   public Algorithms_12(String name, String no) {
      super();
      this.name = name;
      this.no = no;
   }
   
   //get.set메소드
   public String getName() {
      return name;
   }
   public void setName(String name) {
      this.name = name;
   }
   public String getNo() {
      return no;
   }
   public void setNo(String no) {
      this.no = no;
   }
   
   }

메인코드 Algorithms

//학생 정보들을 저장하고, 학생이름으로 검색했을 때 학번을 출력하는 프로그램

//Student 클래스 생성
//String name, no를 가짐 (이름과 학번)

//학생들을 ArrayList에 저장한 이후
//계속 검색을 하겠느냐 y -> 반복 / n ->  프로그램 종료

//학생 이름이 있는 경우 그 학생의 학번을 출력 / 없으면 없는 학생이름 이라고 출력

//배열리스트 사용하기
import java.util.ArrayList;
import java.util.Scanner;

public class Algorithms_1 {
   public static void main(String[] args) {

      Scanner sc = new Scanner(System.in);
      //배열리스트 생성할 때 두번째 클래스를 참조하여 만들기
      ArrayList <Algorithms_12> list = new ArrayList<Algorithms_12>();
      int ans = 0; //답변변수
      boolean flag = false; //게임 종료 선언 변수

      while(true) {
         System.out.println("[1] 학생 정보 조회 [2] 학생 정보 등록");
         ans = sc.nextInt();
         //학생정보 조회
         if(ans==1) {
            System.out.println("조회하실 학생 이름을 입력해주세요");
            String name = sc.next();
            //리스트 배열이 존재한다면 (저장된 학생 정보가 있다면)
            if(list.size()!= 0) {
               //for each문 사용해서  입력받은 이름과 동일한 정보가 있는지 훑어보기
               for(Algorithms_12 stu : list) { //Algorithms_12 참조하여 stu 변수를 이용해 list를 0부터 size까지 반복실행 
                  if(stu.getName().equals(name)) { //문자열 내용 같은지 비교할때는 .equals()를 이용해야 한다
                     System.out.println(stu.getName()+" 학생의 학번은 "+stu.getNo()+"입니다.");
                  }
               }
            } //정보가 없다면 정보가 존재하지 않다고 상태 출력
            else System.out.println("해당 학생의 정보가 존재하지 않습니다.");
         }
         //학생정보 등록
         else if(ans==2) {
            System.out.println("등록하실 학생 이름을 입력해주세요.");
            String stuname = sc.next();
            System.out.println("등록하실 학생 학번을 입력해주세요.");
            String number = sc.next();
            //객체 생성 후에
            Algorithms_12 std = new Algorithms_12(stuname,number);
            //리스트에 추가하기
            list.add(std);

         }
         else {
            System.out.println("잘못 입력하였습니다.");
         } 
         //계속할지 물어보기
         while(true) { 

            System.out.println("계속 하시겠습니까? [Y/N]");
            String final_ans = sc.next();

            if(final_ans.equals("N")||final_ans.equals("n")) {
               //n일 경우 flag 종료신호로 바꾸고, 해당 반복문 종료
               flag=true; 
               break;}
            if(final_ans.equals("Y")||final_ans.equals("y")) {
               flag=false;
               //y일 경우 해당 반복문만 종료
               break;
            }
            else if(!(final_ans.equals("Y")||final_ans.equals("y")
                  ||final_ans.equals("N")||final_ans.equals("n"))) {
               System.out.println("다시 입력해주세요.");
            }
         }
         //
         if(flag) break;
      }
      System.out.println("시스템이 종료되었습니다.");
   }

}

 

————————————————–

사이트 리뉴얼중입니다~

서버(Linux, ESXi), NAS(헤놀로지, ESXi 및 IT관련 정보, 기타 등등을 공유하는 커뮤니티 SVRFORUM을 새로 만들었습니다.
많은 가입(?) 부탁드립니다~
https://svrforum.com

이전글들은 모두 상단 메뉴의 Blog 글 모음에있습니다!

2 thoughts on “자바(JAVA) 알고리즘 기초 1 – 학생정보관리(while, for each, Array list)”

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

홈서버 IT 커뮤니티 SVRFORUM
Link