본문 바로가기

DEVELOPMENT/JAVA

(6)
[JAVA] 연습문제 - 히스토그램(분포도) 만들기 문제 사용자에게 1 ~ 100 사이의 10개의 정수를 입력받고, 아래와 같이 각 정수의 범위에 해당하는 정수 개수를 출력하기 1 ~ 10 : **** 11 ~ 20 : ** 21 ~ 30 : * 31 ~ 40 : 41 ~ 50 : ** 51 ~ 60 : 61 ~ 70 : 71 ~ 80 : 81 ~ 90 : 91 ~ 100 : * 풀이순서 1. 범위 배열 생성 2. 반복해서 정수 입력받기 3. 입력받는 값이 1 ~ 100 사이와 아닌 경우 나누기 4. 입력받는 값의 범위에 해당하는 범위 배열에 * 더해주기 5. 히스토그램 출력 전체코드 import java.util.Scanner; public class Histogram2 { public static void main(String[] args) { Sca..
[JAVA] 연습문제 - 생일 D-Day 계산하기 문제 다음 내 생일까지 몇 일이 남았는지를 구하기 오늘: 2022-11-20 생일: 2023-09-10 D-294 풀이순서 1. Calendar 클래스의 인스턴스 2개 생성 2. 한 개는 생일날짜로 설정 3. 올 해 생일이 지났는지 확인 4. 생일이 지났으면 내년 생일로 변경 5. 디데이 출력 전체코드 import java.text.SimpleDateFormat; import java.util.Calendar; public class DDay { public static void main(String[] args) { Calendar cal1 = Calendar.getInstance(); Calendar cal2 = Calendar.getInstance(); cal2.set(Calendar.MONTH, ..
[JAVA] 연습문제 - 이번 달 달력(calendar) 만들기 문제 아래와 같이 오늘 날짜와 이번 달 달력을 출력하기 2022-11-19 토 SU MO TU WE TH FR SA 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 풀이순서 1. 현재 날짜 구하기 2. 이번 달의 마지막일 구하기 3. 1일 요일 구하기 4. 1일 위치 정하기 5. 1일부터 마지막일까지 출력하기 6. 토요일에 해당하는 날 줄바꿈하기 전체코드 import java.text.SimpleDateFormat; import java.util.Calendar; public class CalendarEx1 { public static void main(String[] args) { Calen..
[JAVA] 날짜와 시간 & 형식 Calendar와 Date Date는 날짜와 시간을 다룰 목적으로 JDK1.0부터 제공되어온 클래스이다. Date 클래스는 기능이 부족했기 때문에, 그 다음 버전인 JDK1.1부터 Calendar라는 새로운 클래스를 제공하기 시작했다. Calendar는 Date보다는 훨씬 나았지만 몇 가지 단점들이 발견되어서 JDK1.8부터 'java.time패키지'로 기존의 단점들을 개선한 새로운 클래스들이 추가되었다. Calendar와 GregorianCalendar Calendar는 추상클래스이기 때문에 직접 객체를 생성할 수 없고, 메서드를 통해서 완전히 구현된 클래스의 인스턴스를 얻어야 한다. Calendar cal = new Calendar(); // 에러!!! 추상클래스는 인스턴스를 생성할 수 없다. Cal..
[JAVA] 예외처리 프로그램 오류 프로그램이 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우가 있다. 이러한 결과를 초래하는 원인을 프로그램 에러 또는 오류라고 한다. 이를 발생시점에 따라 '컴파일 에러'와 '런타임 에러'로 나눌 수 있는데, 글자 그대로 '컴파일 에러'는 컴파일 할 때 발생하는 에러이고 프로그램의 실행도중에 발생하는 에러를 '런타임 에러'라고 한다. 이 외에도 '논리적 에러'가 있는데, 컴파일도 잘되고 실행도 잘되지만 의도한 것과 다르게 동작하는 것을 말한다. *컴파일 에러 : 컴파일 시에 발생하는 에러 *런타임 에러 : 실행 시에 발생하는 에러 *논리적 에러 : 실행은 되지만, 의도와 다르게 동작하는 것 자바에서는 실행 시(runtime) 발생할 수 있는 프로그램 오류를 '에러'와..
[JAVA] 객체지향 프로그래밍 객체지향언어 객체지향이론의 기본 개념은 '실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다.'라는 것이다. 실제 사물의 속성과 기능을 분석한 다음, 데이터(변수)와 함수로 정의함으로써 실제 세계를 컴퓨터 속에 옮겨 놓은 것과 같은 가상 세계를 구현하고 이 가상세계에서 모의실험을 함으로써 많은 시간과 비용을 절약할 수 있었다. 객체지향언어는 기존의 프로그래밍언어와 다른 전혀 새로운 것이 아니라, 기존의 프로그래밍 언어에 몇 가지 새로운 규칙을 추가한 보다 발전된 형태의 것이다. 객체지향 언어의 주요 특징은 다음과 같다. (1) 코드의 재사용성이 높다. (2) 코드의 관리가 용이하다. (3) 신뢰성이 높은 프로그래밍을 가능하게 한다. 클래스와 객체 1. 클래스와 객체의..