프로그래밍29 [Java] 날씨 정보 가져오기(위도/경도 포함) build.gradle 파일에 gson 라이브러리 추가 날씨 정보 api에서 전달받은 json 파일을 파싱 하기 위한 gson 라이브러리 추가하기 https://mvnrepository.com/ 접속 gson 검색 사용할 버전 선택 사용할 방식 선택하여 추가하기 (Maven, Gradle, jar파일 다운로드 등...) dependencies { // https://mvnrepository.com/artifact/com.google.code.gson/gson implementation 'com.google.code.gson:gson:2.10.1' } 프로젝트 구조 만들기 위도/경도 DTO(Locale), 날씨정보 DTO(Weather) 위도/경도 Service(LocaleService), 날씨정보 Ser.. 2023. 12. 20. [기초 Day8] 주사위 게임 3 1. 문제 설명 1부터 6까지 숫자가 적힌 주사위가 네 개 있습니다. 네 주사위를 굴렸을 때 나온 숫자에 따라 다음과 같은 점수를 얻습니다. 네 주사위에서 나온 숫자가 모두 p로 같다면 1111 × p점을 얻습니다. 세 주사위에서 나온 숫자가 p로 같고 나머지 다른 주사위에서 나온 숫자가 q(p ≠ q)라면 (10 × p + q)2 점을 얻습니다. 주사위가 두 개씩 같은 값이 나오고, 나온 숫자를 각각 p, q(p ≠ q)라고 한다면 (p + q) × |p - q|점을 얻습니다. 어느 두 주사위에서 나온 숫자가 p로 같고 나머지 두 주사위에서 나온 숫자가 각각 p와 다른 q, r(q ≠ r)이라면 q × r점을 얻습니다. 네 주사위에 적힌 숫자가 모두 다르다면 나온 숫자 중 가장 작은 숫자 만큼의 점수를.. 2023. 11. 29. [기초 Day7] 배열 만들기 2 1. 문제 설명 정수 l과 r이 주어졌을 때, l 이상 r 이하의 정수 중에서 숫자 "0"과 "5"로만 이루어진 모든 정수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요. 만약 그러한 정수가 없다면, -1이 담긴 배열을 return 합니다. 2. 제한 사항 1 2023. 11. 28. [기초 Day3] 연산 1. 문자열 섞기 길이가 같은 두 문자열 str1과 str2가 주어집니다. 두 문자열의 각 문자가 앞에서부터 서로 번갈아가면서 한 번씩 등장하는 문자열을 return 하는 solution 함수를 완성해 주세요. public String solution231122_1(String str1, String str2) { // 1차 int length = str1.length(); // 길이가 같은 두 문자열이라는 조건때문에 길이라는 변수를 하나로 // char[] char1 = new char[length]; // char[] char2 = new char[length]; // for (int i = 0; i < length; i++) { // char1[i] = str1.charAt(i); // char2[.. 2023. 11. 22. [Java] 엑셀(Excel) 파일 읽기 (Feat.poi) Maven 추가 pom.xml 에 dependencies를 추가 org.apache.poi org.apache.poi poi 5.2.0 org.apache.poi poi-ooxml 5.2.0 org.apache.logging.log4j log4j-core 2.17.1 Load Maven Changes (Ctrl + Shift + O) Maven 변경사항을 적용 엑셀 경로 (프로젝트 최상위) 엑셀 읽어오기 FileInputStream file = new FileInputStream(new File("example.xlsx")); FileInputStream 클래스는 파일을 바이트 단위로 입력받아 출력할 수 있다. 워크북 생성, 시트 지정 Workbook workbook = WorkbookFactory.cr.. 2023. 11. 19. [Java] MVC 패턴의 이해 MVC 패턴이란? 유지보수에 용이하고 가독성이 좋은 디자인 패턴중의 하나로써 Model-View-Controller 의 약어이다. 화면과 데이터 처리의 종속성을 줄이고 각자의 역할을 명확하게 한다. 다음 예제를 통해 MVC패턴에 대해 자세히 알아보도록 한다. 예제는 고객정보관리시스템으로 진행한다. Model 모델(Model)은 데이터 처리를 담당 public class Customer { private String name; private int age; private String phoneNumber; private String address; public Customer() { } public Customer(String name, int age, String phoneNumber, String ad.. 2023. 11. 17. [Java] 다형성의 이해와 활용 다형성이란 무엇인가? 다형성이란 단어의 의미는 '같은 종이면서 어떤 형태나 형질이 다양하게 나타나는 현상' 을 얘기한다. 이와 비슷한 맥락으로 자바에서의 다형성이란 상위클래스가 동일한 메시지로 하위클래스를 서로 다르게 동작 시키는 의미로 이해하면 된다. 대표적인 예로 인터페이스, 추상클래스, 오버로딩, 오버라이딩, 업캐스팅, 다운캐스팅 등이 모두 다형성에 속해 있다. 다형성의 장점 유지보수가 쉽다. 확장이 용이하다. 다형성의 전제 조건 상속관계(extends)에 있어야 한다. 재정의(Override)가 가능하다. (필수 X) 업캐스팅(Upcasting) 동적바인딩 : 런타임 시점에 메서드가 결정된다. 다형성의 활용(예시) 1. 추상클래스 생성 public abstract class Animal { pub.. 2023. 11. 15. [Java] 추상클래스(abstract)와 인터페이스(interface) 공통점 * 다형성을 보장하기 위해 등장한 개념 * 추상메서드를 가질 수 있다. * 단독으로 객체를 생성할 수 없다. * 부모의 역할로 사용한다. (Upcasting) 추상클래스 (abstract) 특징 (차이점) : 추상메서드와 구현메서드를 가질 수 있다. 상속(extends)을 받아서 사용한다. 1. 추상클래스 생성하기 public abstract class Person { // 구현메서드 3종 public void walk() { System.out.println("걷는다."); } public void run() { System.out.println("달린다."); } public void sleep() { System.out.println("잠을 잔다."); } // 상속받은 클래스에서 재정의가 .. 2023. 11. 14. [Git] 시작하기 git 설정 범위와 설정 파일 설정 범위 시스템(system) : 해당 컴퓨터의 모든 저장소와 사용자에 적용 (거의 사용되지 않음) 전역(global) : 해당 컴퓨터의 현재 사용자의 모든 저장소에 적용 지역(local) : 특정 저장소에 적용 설정 파일 (위치) 전역(global) : 운영체제의 사용자 폴더의 .gitconfig 지역(local) : 저장소 폴더의 .git/config git 명령어 설정 추가하기 git config git config -- // 사용법 git config user.name "myname" git config --global user.email "my_email@kakao.com" 설정된 옵션 확인하기 git config git config --list // 사용법 gi.. 2023. 11. 9. 이전 1 2 3 다음