본문 바로가기

전체 글

(124)
[Java의 정석_연습문제 풀이] Chapter12 Generics, Enumeration, Annotation(지네릭스, 열거형, 애너테이션) [12-1] 클래스 Box가 다음과 같이 정의되어 있을 때, 다음 중 오류가 발생하는 문장은? 경고가 발생하는 문장은?class Box { //지네릭 타입 T를 선언 T item; void setItem(T item) { this.item = item; } T getItem() { return item; } }}a. Box b = new Box( ); //에러. 대입된 타입이 반드시 같아야 한다.b. Box b = (Object)new Box( ); //에러. Object타입을 Box타입의 참조변수에 저장불가. (타입 불일치)c. new Box( ).setItem(new Object( )); //에러. 대입된 타입이 String이므로, setItem(T item)의 매개변수 역시, String타입만 허용..
[Java의 정석_연습문제 풀이] Chapter11 컬렉션 프레임워크 [11-1] 다음은 정수집합 1, 2, 3, 4와 3, 4, 5, 6의 교집합, 차집합, 합집합을 구하는 코드이다. 코드를 완성하여 실행결과와 같은 결과를 출력하시오. ([Hint] ArrayList클래스의 addAll( ), removeAll( ), retainALL( )을 사용하라.)import java.util.*; class Exercise11_1 {public static void main(String[] args) {ArrayList list1 = new ArrayList();ArrayList list2 = new ArrayList();ArrayList kyo = new ArrayList(); // 교집합ArrayList cha = new ArrayList(); // 차집합ArrayList h..
[Java의 정석_연습문제 풀이] Chapter10 날짜와 시간 & 형식화 [10-1] Calendar 클래스와 SimpleDateFormat클래스를 이용해서 2010년의 매월 두 번째 일요일의 날짜를 출력하시오.[실행결과] 2010-01-10은 2번째 일요일입니다.2010-02-14은 2번째 일요일입니다.2010-03-14은 2번째 일요일입니다.2010-04-11은 2번째 일요일입니다.2010-05-09은 2번째 일요일입니다.2010-06-13은 2번째 일요일입니다.2010-07-11은 2번째 일요일입니다. 2010-08-08은 2번째 일요일입니다.2010-09-12은 2번째 일요일입니다. 2010-10-10은 2번째 일요일입니다.2010-11-14은 2번째 일요일입니다.2010-12-12은 2번째 일요일입니다.답:import java.text.SimpleDateFormat;..
[Java의 정석_연습문제 풀이] Chapter9 java.lang패키지와 유용한 클래스 [9-1] 다음과 같은 실행결과를 얻도록 SutdaCard클래스의 equal( )를 멤버변수인 num, isKwang의 값을 비교하도록 오버라이딩하고 테스트하시오.class Exercise9_1 {public static void main(String[] args) {SutdaCard c1 = new SutdaCard(3, true);SutdaCard c2 = new SutdaCard(3, true);System.out.println("c1=" + c1);System.out.println("c2=" + c2);System.out.println("c1.equals(c2):" + c1.equals(c2));}} class SutdaCard {int num;boolean isKwang; SutdaCard() ..
[Java의 정석_연습문제 풀이] Chapter8 예외처리 [8-1] 예외처리의 정의와 목적에 대해서 설명하시오. 답: 정의 - 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것 목적 - 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것 [8-2] 다음은 실행도중 예외가 발생하여 화면에 출력된 내용이다. 이에 대한 설명 중 옳지 않은 것은?java.lang.ArithmeticException : / by zero at ExceptionEx18.method2(ExceptionEx18.java:12) at ExceptionEx18.method1(ExceptionEx18.java:8) at ExceptionEx18.main(ExceptionEx18.java:4)a. 위의 내용으로 예외가 발생했을 당시 호출스택에 존재했던 메서드를..
[Java의 정석_연습문제 풀이] Chapter7 객체지향 프로그래밍2 [7-1] 섯다카드 20장을 포함하는 섯다카드 한 벌(SutdaDeck클래스)을 정의한 것이다. 섯다카드 20장을 담는 SutdaCard배열을 초기화하시오. 단, 섯다카드는 1부터 10까지의 숫자가 적힌 카드가 한 쌍씩 있고, 숫자가 1, 3, 8인 경우에는 둘 중의 한 장은 광(Kwang)이어야 한다. 즉, SutdaCard의 인스턴스변수 isKwang의 값이 true이어야 한다. class SutdaDeck {final int CARD_NUM = 20;SutdaCard[] cards = new SutdaCard[CARD_NUM]; SutdaDeck() {/* (1)배열 SutdaCard 를 적절히 초기화 하시오. */}} class SutdaCard {int num;boolean isKwang; Su..
[Java의 정석_연습문제 풀이] Chapter6 객체지향 프로그래밍1 [6-1] 다음과 같은 멤버변수를 갖는 SutdaCard클래스를 정의하시오. 타입 변수명 설명 int num 카드의 숫자. (1~10사이의 정수) boolean isKwang 광(光)이면 true, 아니면 false 답: public class SutdaCard {int num;boolean isKwang;} [6-2] 문제 6-1에서 정의한 SutdaCard클래스에 두 개의 생성자와 info()를 추가해서 실행결과와 같은 결과를 얻도록 하시오. class Exercise6_2 { public static void main(String args[]) { SutdaCard card1 = new SutdaCard(3, false); SutdaCard card2 = new SutdaCard(); System...
[Java의 정석_연습문제 풀이] Chapter5 배열 [5-1] 다음은 배열을 선언하거나 초기화한 것이다. 잘못된 것을 고르고 그 이유를 설명하시오.a. int[] = arr[];b. int[] arr = {1,2,3,};-> 마지막의 쉼표는 있어도 상관없음.c. int[] arr = new int[5];d. int[] arr = new int[5]{1,2,3,4,5}; -> 두 번째 대괄호안에 배열의 크기를 지정할 수 없다. 괄호{} 안의 데이터 개수에 따라 자동적으로 결정되기 때문이다.e. int arr[5];-> 배열을 선언할 때는 배열의 크기를 지정할 수 없음.f. int[] arr[] = new int[3][]; 답 : d, e [5-2] 다음과 같은 배열이 있을 때, arr[3].length의 값은 얼마인가?int[][] arr = { { 5, ..