2021-01-09 오늘은 int형 변수와 String 변수를 같이 다루다 보면 자주 접할 수 있음 NumberFormatException에 대하여 알아보도록 하자. 우선 어떠한 상황에서 해당 예외가 발생하게 되는지부터 보도록 하자. package eException; public class main { public static void main(String[] args){ String str = "100"; String str1 = "100 "; int a = Integer.parseInt(str); int b = Integer.parseInt(str1); //공백이 포함되어 있어 예외 발생 //NumberFormatException } } str 변수의 경우 공백없이 100이라는 문자열 데이터가 들어..
2021-01-08 데몬스레드는 쉽게 말해서 주스레드의 하위 스레드라고 할 수 있다. 즉 주스레드의 보조적인 역할을 수행하게 되며, 주스레드가 종료될 경우 데몬스레드도 같이 종료되게 된다. 바로 코드로 살펴보도록 하자. 우선 Thread를 상속받는 두개의 클래스를 만들어 주었으며, 내용은 아래와 같다. package Demon; public class Thread1 extends Thread { @Override public void run() { while(true) { System.out.println("Thread1 is Running . . ."); } } } package Demon; public class Thread2 extends Thread { @Override public void ru..
2021-01-07 문제 ACM-ICPC 대회의 대회장은 R행 C열의 직사각형 형태로 좌석이 배치되어 있다. 대회가 시작하기 전에는 참가자들이 아무것도 만지면 안 되기 때문에 진행자는 'Do not touch ANYTHING!!!'을 연신 외친다. 하지만, 진행자가 성대결절에 걸리면서 'Do not touch ANYTHING!!!'을 외칠 수 없는 처지가 되었다. 따라서 주최측은 CCTV를 설치하여 참가자들을 감시하려고 한다. 이때, 각 CCTV는 N행 N열의 직사각형 영역의 좌석을 촬영할 수 있다. 모든 좌석을 전부 촬영하도록 CCTV를 배치할 때, 최소 몇 개의 CCTV가 필요할까? 입력 첫 번째 줄에 좌석의 세로 크기, 가로 크기 R, C와 한 대의 CCTV가 수용할 수 있는 범위 N이 주어진다. ..
2021-01-06 인터페이스는 상속과는 달리 두 가지 인터페이스를 한 개의 클래스 내에 모두 구현할 수 있다. 오늘은 이와 같은 방법을 알아보도록 하자. 우선 아래 예제 인터페이스 두 가지 animal / human을 준비하였다. package iInterface; public interface animal { void species(); void sex(); } package iInterface; public interface human { void name(); void age(); } 큰 특징 없이 각 인터페이스별 추상 메서드를 2개씩 선언해 주었다. 이제 구현 클래스로 가서 구체적인 메서드 코드를 작성해보도록 하자. package iInterface; public class integrated ..
2021-01-05 오늘은 Set 컬렉션 중 HashSet에 대하여 알아보도록 하자. 우선 Set의 특성은 중복된 타입의 객체는 저장되지 않는다는 점이며, HashSet 역시 이와 같은 특징을 가지고 있다. 어렵지 않은 내용이니 바로 코드로 구현을 해보자. package hHashSet; import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class main { public static void main(String[] args) { Set set = new HashSet(); //순서없이 저장되며, 중복된 값은 저장되지 않는다. set.add("aaa"); set.add("bbb"); set.add("ccc"..
2021-01-04 문제 2차원 좌표 평면 위에 두 개의 박스(직사각형) P, Q가 놓여 있다. 각 박스의 변은 x축이나 y축에 평행하다. 박스를 연구하는 학수는 이 두 박스의 교차 상태를 파악하여 내부가 겹쳐 있는지 (FACE), 그렇지 않고 선분에서 만나는 지(LINE), 그렇지 않고 한 점에서 만나는지(POINT), 아예 만나지 않는지 (NULL) 구별하려고 한다. 다음 그림은 두 박스의 여러 가지 교차 상태의 예를 보여준다. 입력 표준 입력으로 두 박스의 정보가 한 줄에 하나씩 주어진다. 각 박스의 정보는 왼쪽 아래 꼭짓점 좌표 (x1, y1)과 오른쪽 위 꼭짓점 좌표 (x2, y2)로 구성되는데 이들 좌푯값 x1, y1, x2, y2 (x1 a[3]) { acMax = a[1]; acMin = ..