1. 이름이 Test인 퍼블릭 클래스를 정의한다.
첫 줄에 자신의 학번을 출력하고 다음 줄에 이름을 출력하도록 main() 함수를 정의하여 Test 클래스에 포함시킨다.
이클립스를 사용하여 클래스를 작성하고 실행시킨다.
클래스 정의와 출력 결과를 확인할 수 있는 1개 그림을 캡처하여 과제물 파일에 포함시키시오.
public class Test {
public static void main(String[] args) {
String studentNum = "20XXXX-36XXXX";
String studentName = "캣덕후";
System.out.println("학번 : " + studentNum);
System.out.println("이름 : " + studentName);
}
}
|
2. 아래 예외처리 코드에 문제가 있는지/없는지 밝히시오.
문제가 있다면 이 유를 200자 이내(공백 포함)로 설명하시오. (중괄호 블록 안에는 적당한 명령이 있다고 가정한다.)
try {
}catch(Exception ex) {
}catch(ArithmeticException ex) {
}
|
- Exception 클래스의 모든 예외의 최고 상위 클래스이기 때문에 Exception클래스부터 실행할 경우 첫번째 catch블럭에서 모든 예외가 처리되고 두번째 catch블럭은 실행되지 않는다. 첫번째 catch블럭에 ArithmeticException부터 처리한 후에 두번째 catch블럭에서 그 외 예외를 처리 할수 있도록 실행시키는 것이 좋은 예이다.
3. 자바 API 문서에서 Comparable 인터페이스를 찾아보고, Comparable를 구현하는 클래스를 정의할 때 어떤 메소드를 구현해야 하는지 쓰시오.
- Comparable 과 Comparator 는 모두 인터페이스로 컬렉션을 정렬하는데 필요한 메서드를 정의하고 있으며, Comparable을 구현하고 있는 클래스들은 같은 타입의 인스턴스끼리 서로 비교할 수 있는 클래스들, 주로 Integer와 같은 wrapper클래스와 String, Date, File과 같은 것들이며 기본적으로 오름차순으로 정렬되도록 구현되어 있다.
그래서 Comparable을 구현한 클래스는 정렬이 가능하다는 것을 의미한다.
Comparable 은 객체 간의 일반적인 정렬이 필요할 때, Comparable 인터페이스를 확장해서 정렬의 기준을 정의하는 compareTo() 메서드를 구현한다.
compareTo() 메서드는 두개의 값을 비교하여 int값으로 반환한다. 비교하는 두 객체가 같으면 0, 비교하는 값보다 작으면 음수, 크면 양수를 반환하도록 구현해야 한다.
Comparator 은 객체 간의 특정한 정렬이 필요할 때, Comparator 인터페이스를 확장해서 특정 기준을 정의하는 compare() 메서드를 구현한다.
'Study' 카테고리의 다른 글
[C언어] 8비트 2진법 계산기 (-128~+127) (0) | 2020.11.09 |
---|---|
[방송통신대] 2020년 데이터정보처리 입문 과제 (0) | 2020.04.14 |
[방송통신대] C프로그래밍 과제 (0) | 2020.04.14 |
[방송통신대] 소프트웨어 공학 중간과제 (2020) (0) | 2020.02.28 |