본문 바로가기

Java

(39)
[Java] 39 실습(영화 순위 관리 프로그램_(1. 영화 추가하기 & 4. 영화 검색하기)) 1. 영화 추가하기 - MovieDAO.java(Data Access Object)에서 영화 정보를 추가하는 메소드를 생성한다. // 추가하기 : 관객수에 따라 알맞은 랭킹 찾아서 추가하기 public void add(MovieDTO dto) throws IOException { // 매개변수로 받아온 dto 객체에는 추가하고 싶은 영화에 대한 제목, 개봉일, 관객수, 수익, 상영관수가 들어있다. // 내가 삽입할 영화가 들어갈 위치를 찾아야 한다. // targetView : 내가 추가하고 싶은 영화의 관객수 int targetView = Integer.parseInt(dto.getView()); BufferedReader ..
[Java] 38 ​● MVC(Model, View, Controller) 패턴 - 디자인 패턴 중 하나로 Model, View, Controller로 나누어 설계하는 방식 ​ ​ ​ ​● Model - 외부 저장소(데이터베이스)에서 필요한 데이터를 담아줄 객체 ​ ​ ​ ​● View - 사용자에게 보여지는 영역 ​ ​ ​ ​● Controller - 외부 저장소에 접근하는 기능을 담고 있는 영역 ​ ​ ​ ​● MVC model 1. MVC model 1 - 유지보수가 어렵지만 설계가 쉽다. ​ 2. MVC model 2 - 설계가 어렵지만 유지보수에 유리하다. ​ ​ 실습(영화 순위 관리 프로그램(4. 영화 검색하기 ~ 6. 나가기)) 0. workspace에 1위부터 100위까지의 영화 순위를 가지고 있는 "mov..
[Java] 37 실습(파일 입출력) 1. "task.txt" 파일의 마지막 줄에 '안녕하세요' 출력하기 (1) 파일 마지막 줄에 문자열을 출력하는 메소드 생성 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public static void append(String msg) throws IOException { File f = new File("task.txt"); FileWriter fw = new FileWriter(f, true); BufferedWriter bw = ne..
[Java] 36 ​● FileReader - Stream을 여는데 사용하는 클래스 - 생성자의 매개변수로는 File 객체를 알려준다. ​ ​ ​ ● BufferedReader - 버퍼를 생성하는데 사용하는 클래스 - 생성자의 매개변수로는 FileReader 객체를 알려준다. ​ ​ ※ readLine() - 파일 속 한 줄을 문자열로 읽어온다. - 더 이상 읽어올 문자열이 없다면 null값을 return한다. ​ ​ ​ ● 파일 경로 - 파일 경로에 파일이 없을 경우에는 파일을 만들어준다. - 기본 경로는 해당 프로젝트 폴더 안으로 설정되어있다. ​ 1. 절대경로 - 처음부터 끝까지 파일 경로를 알려주는 방법 (ex) File("C:\\Java\\memo\\test.txt") ​ 2. 상대경로 - 프로젝트 위치에 따라 ..
[Java] 35 ​● 파일 입출력 - java → 파일 : 출력 - 파일 → java : 입력 ​ ​ ​ ​● Stream - 데이터가 전송되는 통로 ​ ​ ​ ​● 파일 입출력 순서 0. 파일 객체 만들기 1. 파일 데이터가 전송될 수 있도록 Stream 열어주기 1-2. 버퍼 생성하기 2. 파일을 읽거나 쓰기 3-0. 버퍼 닫기 3. Stream 닫기 ​ ​ ​ ​● 인코딩 방식 설정하기 1. 프로젝트 별 인코딩 방식 설정하기 (1) 인코딩 방식을 설정하려는 프로젝트를 우클릭 후 Properties 클릭 (2) Properties 팝업창 좌측의 Resource 클릭 (3) Text file encoding의 other 선택 후 UTF-8 설정하여 Apply ​ 2. 모든 워크스페이스에 동일한 인코딩 방식 설정하기 (..
[Java] 34 실습(HashMap 예제) - 카페 메뉴판 시스템 프로그램 만들기 0. 실행할 항목 입력받기 while(true) { System.out.println("1. 메뉴 추가하기"); System.out.println("2. 메뉴 수정하기"); System.out.println("3. 메뉴 삭제하기"); System.out.println("4. 전체 메뉴보기"); System.out.println("5. 나가기"); System.out.print("입력 >> "); int choice = Integer.parseInt(sc.nextLine()); } ​ ​ 1. key값이 존재하는지 확인하는 메소드 생성 public static boolean containsKey(HashMap map, String key) ..
[Java] 33 ​● 컬렉션 프레임워크(Collection Framework) - Collection ​ (3) Map - key와 value 한 쌍으로 짝지어져 저장되는 형태 (인덱스번호를 마음대로 설정한다.) - HashMap, TreeMap, ... → 사용 방법은 같지만 구현 방식에서 차이가 난다. ​ 실습(HashMap) 0. size(), isEmpty() import java.util.HashMap; public class HashMapTest { public static void main(String[] args) { HashMap scores = new HashMap(); System.out.println(scores.size()); System.out.println(scores.isEmpty()); }..
[Java] 32 ● iterator() - 순서를 부여해주는 메소드 - Iterator 객체를 return한다. ​ 1. hasNext() - 다음 요소가 있다면 true, 없다면 false를 return한다. ​ 2. next() - 다음 요소를 return한다. ​ ​ ​ ​● Iterator - 컬렉션의 종류와 상관 없이 동일한 형태의 참조 방식을 유지할 수 있게 하기 위해 만들어진 인터페이스 - 클래스 별 데이터 참조 방식을 별도로 확인할 필요도 없고, 컬렉션 클래스의 교체로 인한 영향도 줄일 수 있다. ​ ​ ​ ​● 컬렉션 프레임워크(Collection Framework) - Collection ​ (1) List - 중복된 값을 저장할 수 있다. - 수정, 삭제, 추가가 자유롭다. - 순서가 존재한다. - ..