공부용

영화 선택 본문

2020.10 ~ 2021.03 취업성공패키지/영화관 관리(Java)

영화 선택

고딕짱! 2021. 1. 20. 20:45

현재 상영중인 영화를 선택한다.

BufferedReader reader = new BufferedReader(new FileReader(PATH));

// movieList파일을 읽어서 제목(movieInfo[0])과 감독(movieInfo[5])를 String형태로 만들어서 ArrayList에 넣는다.
// ArrayList에서 꺼내서 보여주고, 그 중 하나를 고르면 그걸 index로 정보를 찾을 계획.
String line=null;

while((line=reader.readLine())!=null) {

    String[] movieInfo=line.split("■");
    // 현재 상영중인 영화여야 한다는 조건!
    // 즉, 상영종료일-현재날짜가 양수여야 한다!
    long nowTick=now.getTimeInMillis();
    //상영종료일
    int year=Integer.parseInt(movieInfo[4].substring(0, 4));
    int month=Integer.parseInt(movieInfo[4].substring(5, 7));
    int date=Integer.parseInt(movieInfo[4].substring(8, 10));

	Calendar end=Calendar.getInstance();
	end.set(year, month-1, date);
	long endTick=end.getTimeInMillis();

    if (endTick-nowTick>=0) {	//제목 | 감독 | 배우
    	String eachMovie=String.format("\t%s | %s | %s", movieInfo[0], movieInfo[6],movieInfo[7]);
        allMovies.add(eachMovie);
    }
}

 

선택한 영화를 상영하는 전체 영화관 (3일분류) 선택

for(int i=0; i<allBranches.size();i++) {
    String branchPath=allBranches.get(i).toString(); // theater폴더 속 각 지점 폴더의 PATH
    // 3일치자료만 필터링해줄 3일치의 변수를 만든다.
    // 오늘
    Calendar now=Calendar.getInstance();
    String today=String.format("%d-%02d-%02d", now.get(Calendar.YEAR), now.get(Calendar.MONTH)+1, now.get(Calendar.DATE));

    // 내일
    Calendar plusOneDay=Calendar.getInstance();
    plusOneDay.add(Calendar.DATE, 1);
    String tomorrow=String.format("%d-%02d-%02d", plusOneDay.get(Calendar.YEAR), plusOneDay.get(Calendar.MONTH)+1, plusOneDay.get(Calendar.DATE));

    // 내일모레
    Calendar plusTwoDay=Calendar.getInstance();
    plusTwoDay.add(Calendar.DATE, 2);
    String dayAfterTomorrow=String.format("%d-%02d-%02d", plusTwoDay.get(Calendar.YEAR), plusTwoDay.get(Calendar.MONTH)+1, plusTwoDay.get(Calendar.DATE));

    File branchDir=new File(branchPath); // 각 지점 폴더
    File[] eachBranch=branchDir.listFiles(); // eachBranch는 각 지점 폴더 안의 날짜이름으로된 파일을 가리킨다.

    if (eachBranch==null) {
    continue;
    }

    // 3일의 날짜를 path 뒤에 붙여서 파일 불러오기
    // 제목, 지점주소, 파일텍스트명
    makeAllScreenInfo(findTitle, branchPath, today);
    makeAllScreenInfo(findTitle, branchPath, tomorrow);
}

 

 

결과화면

영화선택
영화관선택

'2020.10 ~ 2021.03 취업성공패키지 > 영화관 관리(Java)' 카테고리의 다른 글

좌석선택  (0) 2021.01.20
영화관 선택  (0) 2021.01.20
로그인  (0) 2021.01.17
아이디/비밀번호 찾기  (0) 2021.01.17
회원가입  (0) 2021.01.17
Comments