본문 바로가기

분류 전체보기

(108)
2020.9.15일자 수업 : 파일 입출력 실습 - 파일 입출력 git/eomcs-java-project-2020/mini-pms-30-a FileReader와 Scanner 파일의 내용을 읽어들이는 객체는 FileReader이다. 그러나 여기서 있는 메서드는 두가지 뿐이다. 바이트를 리턴한는 read()와 byte배열을 받아 그것을 채운 배열을 리턴하는 read() 밖에 없다. 따라서 Scanner라는 플러그인을 장착해서 문자열을 리턴하는 nextLine()과 4바이트 int값을 리턴하는 nextInt()를 사용할 수 있다. 그럼이제 FileReader와 연결된 Scanner만 사용해도 원하는 작업을 할 수가 있다. 훈련 목표 저장된 ./board.csv를 읽어서 각 게시물의 정보를 boardList에 저장하는 loadBoards() 메서드를 ..
백준 별찍기 시리즈 - 2444, 2445, 2446번 별 찍기 - 7 성공분류 문제 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 5 출력 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. * *** ***** ******* ********* ******* ***** *** * 내 코드 import java.util.Scanner; public class No2444 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for (int i = 1; i = 1; i--) { for (int j = 0; j < n - i; j++) System.out.print("..
2020.9.14일자 수업 : 예외 처리, 파일 입출력 실습 - 예외 처리 git/eomcs-java-project/mini-pms-29 여태까지는 숫자나 Date를 입력할 때 적절한 형식을 입력하지 않으면 프로그램이 종료됐다. 이제는 잘못된 값을 입력하더라도 프로그램이 중단되지 않도록 예외 처리를 해줄 것이다. 훈련 목표 execute() 메서드를 실행하는 와중에 예외가 발생할 수 있는 부분을 찾아 예외 처리를 해준다. 1단계 : 실행하여 예외가 발생할 수 있는 부분과 코드를 찾는다. execute가 실행되는 와중에 번호를 입력해야할 때 숫자가 아닌 문자를 입력하면 다음과 같은 에러가 발생한다. 숫자를 입력해야하는 상황이 다양하기 때문에 각각의 parseInt() 메서드에 예외 처리를 해주는 것보다는 App에서 execute() 부분에 예외 처리를 해주는 ..
자바로 배우는 핵심 자료구조와 알고리즘 : 3장 ArrayList 클래스 3.1. MyArrayList 메서드 분류하기 상수시간 get 메서드 @Override public T get(int index) { if (index = size) { throw new IndexOutOfBoundsException(); } return array[index]; } get 메서드에 있는 모든 것은 상수 시간이다. set 메서드 @Override public T set(int index, T element) { // get(index); // T old = array[index]; // 내가 했던 것... T old = get(index); array[index] = element; return old; } 명시적으로 인덱스의 유효성 검증을 하지 않고 get 메서..
첫 미니 프로젝트 : 영화 OTT 플랫폼 국비 수업을 들은지 두 달이 다 되어가는 와중에, 오직 자바와 콘솔 입출력 기능만 갖고 24시간동안 프로그램을 짜보는 프로젝트 시간을 가졌다. 이 글을 24시간 동안 둘이서 한 팀원과 둘이서 코딩을 한 결과물이며 이 이후로 계속 리팩토링과 기능 개선을 한 결과물은 다음 저장소에 확인할 수 있다. 전체적인 컨셉 프로젝트의 주제는 자유였고, 나와 또 다른 팀원 한 명은 영화 OTT 플랫폼의 추천 알고리즘을 흉내내어 보기로 결정했다. 회사에서 사용하는 추천 알고리즘은 머신러닝과 AI를 활용하겠지만, 그 수준은 상상도 못하고 그 대신 간단한 추천 리스트를 만들어보기로 했다. 예를 들면 같은 성별, 같은 나잇대의 회원 집단에서 시청한 영화를 조회수 순으로 나열한 리스트 회원의 취향 장르를 한 영화를 시청할 때마다..
GitHub - 브랜치 다루는 법 "누구나 쉽게 이해할 수 있는 Git 입문"을 참고하여 작성하였습니다. 도움주셔서 정말 감사합니다. 출처 : backlog.com/git-tutorial/kr/stepup/stepup2_4.html 브랜치를 생성하는 법 브랜치를 생성하려면 터미널에서 브랜치를 생성하고 싶은 저장소 파일에 가서 다음과 같이 실행한다. git branch (브랜치 이름) 생성한 후에는 branch 목록을 다음과 같이 확인하여 생성했는지 확인이 가능하다 git branch 브랜치를 사용 / 전환하는 법 특정 브랜치를 사용하여 작업을 하려면 다음과 같이 실행한다. 현재 사용중인 브랜치를 HEAD라고 부른다. git checkout (브랜치 이름) // '브랜치 이름' 브랜치로 전환합니다 어떤 브랜치를 작성과 동시에 전환하고 싶다..
2020.9.11일자 수업 : 익명 클래스, 커맨드 디자인 패턴 익명 클래스 git/eomcs-java-basic/src/main/java com.eomcs.oop.ex11.e 익명 클래스의 생성 방법 package com.eomcs.oop.ex11.e; public class Exam0120 { interface A { void print(); } public static void main(String[] args) { A x = new A() { @Override public void print() { System.out.println("Hello"); } }; x.print(); } } 인터페이스는 규칙이기 때문에 스태틱 멤버가 아니어도 다른 스태틱 메서드에서 사용 가능하다. 클래스에 이름이 없으면 생성자를 만들 수 없으므로 호출할 때 익명 클래스의 생성자가 없..
백준 별찍기 시리즈 - 2440, 2441, 2442, 2443번 두잇 책 1장에 나온 것들이라서 다시 정리해보는 마음으로 풀어봤다. 별찍기 - 3 문제 첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 5 출력 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. ***** **** *** ** * 내 코드 import java.util.Scanner; public class No2440 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); for (int i = num; i >= 1; i--) { for (int j = 0; j < i; ..