혼자 공부하는 자바 11장 기본 API 클래스 확인 문제

2023. 2. 21. 23:00공부/자바

반응형

 

 
혼자 공부하는 자바
혼자 해도 충분하다! 1:1 과외하듯 배우는 자바 프로그래밍 자습서 (JAVA 8 &11 지원) 이 책은 독학으로 자바를 배우는 입문자가 ‘꼭 필요한 내용을 제대로’ 학습할 수 있도록 구성했다. ‘무엇을’ ‘어떻게’ 학습해야 할지 조차 모르는 입문자의 막연한 마음을 살펴, 과외 선생님이 알려주듯 친절하게, 그러나 핵심적인 내용만 콕콕 집어준다. 책의 첫 페이지를 펼쳐서 마지막 페이지를 덮을 때까지, 혼자서도 충분히 자바를 배울 수 있다는 자신감과 확신이 계속될 것이다! 20명의 베타리더 검증으로, ‘함께 만든’ 입문자 맞춤형 도서 20명의 베타리더와 함께 구성하여 입문자에게 맞는 난이도, 분량, 학습 요소 등을 적극 반영했다. 어려운 용어와 개념은 한번 더 풀어 쓰고, 복잡한 설명은 눈에 잘 들어오는 그림으로 풀어 냈다. ‘혼자 공부해본’ 여러 입문자의 초심과 눈높이가 책 곳곳에 반영된 것이 이 책의 가장 큰 장점이다.
저자
신용권
출판
한빛미디어
출판일
2019.06.10

 

<혼자 공부하는 자바> 신용권 저, 한빛 미디어 출판(2019.06.10)

 

※ 직접 풀이한 문제

 

 

 

11-1 확인 문제 508p

11-1-1 설명 중 틀린 것은 무엇입니까?

  • ④ - Object의 toString() 메소드는 클래스 이름과 해시값을 문자열로 리턴한다.

11-1-2 다음 괄호( )안을 채워보세요.

hashCode()
equals()

11-1-3 Student 클래스를 작성하되, Object의 equals()와 hashCode()를 재정의해서 Student의 학번(studentNum)이 같으면 동등 객체가 될 수 있도록 해보세요.

//answer- Student.java
package sec01.verify.exam03;

public class Student{
	private String studentNum;
	public Student(String studentNum){
		this.studentNum=studentNum;
	}
	public String getStudentNum(){
		return studentNum;
	}
	@Override
	public boolean equals(Object obj){
		if(obj instanceof Student){
			Student compareStudent=(Student)obj;
			if(studentNum.equals(compareStudent.studentNum)){
				return true;
			}
		}
		return false;
	}
	@Override
	public int hashCode(){
		return studentNum.hashCode();
	}
}

11-1-4 Member 클래스를 작성하되, Object의 toString() 메소드를 재정의해서 MemberExample 클래스의 실행결과처럼 나오도록 작성해보세요.

//answer- Member.java
package sec01.verify.exam04;

public class Member{
	private String id;
	private String name;
	
	public Member(String id,String name){
		this.id=id;
		this.name=name;
	}
	
	@Override
	public String toString(){
		return id+": "+name;
	}
}

11-1-5 설명 중 틀린 것은 무엇입니까?

  • ④ - 클래스.class로 Class 객체를 얻을 수 있다.

11-1-6 주어진 바이트 배열 {73,32,108,111,118,101,32,121,111,117}을 문자열로 변환해보세요.

//answer- BytesToStringExample.java
package sec01.verify.exam06;

public class BytesToStringExample{
	public static void main(String[] args){
		byte[] bytes={73,32,108,111,118,101,32,121,111,117};
		String str=new String(bytes);
		System.out.println(str);
	}
}

11-1-7 “자바”를 Java로 대치한 새로운 문자열을 만들어보세요.

//answer - FindAndReplaceExample.java
package sec01.verify.exam07;

public class FindAndReplaceExample{
	public static void main(String[] args){
		String str="모든 프로그램은 자바 언어로 개발될 수 있다.";
		int index= str.indexOf("자바");
		if(index==-1){
			System.out.println("자바 문자열이 포함되어 있지 않습니다.");
		}else{
			System.out.println("자바 문자열이 포함되어 있습니다.");
			str=str.replace("자바","Java");
			System.out.println("-->"+str);
		}
	}
}

11-1-8 false가 나오는 이유를 설명해보세요.

  • 포장 객체의 값을 == 연산자를 통해 비교하면 번지 비교가 된다. 또한 정수형의 경우 -128부터 127 범위 값은 정상적으로 값을 비교하지만 범위가 넘어가면 번지를 비교한다. 300은 범위를 넘으므로 번지 비교를 하여 false가 나온다.

11-1-9 빈칸을 작성해보세요.

//answer - StringConvertExample.java
package sec01.verify.exam09;

public class StringConvertExample{
	public static void main(String[] args){
		String strData1="200";
		int intData1=Integer.parseInt(strData1);
		int intData2=150;
		String strData2=String.valueOf(intData2);
	}
}

 

11-2 확인 문제 518p

11-2-1 다음과 같이 출력하는 프로그램을 작성해보세요.

//answer
package sec02.verify.exam01;

import java.text.SimpleDateFormat;
import java.util.Date;

public class Example {

	public static void main(String[] args) {
		Date now=new Date();
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy년 MM월 dd일 E요일 HH시 mm분");
		System.out.println(sdf.format(now));
	}

}

11-2-2 Calendar 클래스를 이용해서 1번과 동일한 실행결과를 출력하는 프로그램을 작성해보세요.

//answer
package sec02.verify.exam02;

import java.util.Calendar;

public class Example {
	public static void main(String[] args) {
		Calendar now=Calendar.getInstance();

		int year=now.get(Calendar.YEAR);
		int month=now.get(Calendar.MONTH)+1;
		String strMonth=(month<10)?("0"+month):(""+month);
		int day=now.get(Calendar.DAY_OF_MONTH);
		String strDay=(day<10)?("0"+day):(""+day);

		int week=now.get(Calendar.DAY_OF_WEEK);
		String strWeek=null;
		switch(week) {
		case Calendar.MONDAY:
			strWeek="월";
			break;
		case Calendar.TUESDAY:
			strWeek="화";
			break;
		case Calendar.WEDNESDAY:
			strWeek="수";
			break;
		case Calendar.THURSDAY:
			strWeek="목";
			break;
		case Calendar.FRIDAY:
			strWeek="금";
			break;
		case Calendar.SATURDAY:
			strWeek="토";
			break;
		case Calendar.SUNDAY:
			strWeek="일";
			break;
		}

		int hour=now.get(Calendar.HOUR);
		String strHour=(hour<10)?("0"+hour):(""+hour);
		int minute=now.get(Calendar.MINUTE);
		String strMinute=(minute<10)?("0"+minute):(""+minute);

		System.out.print(year+"년 ");
		System.out.print(month+"월 ");
		System.out.print(day+"일 ");
		System.out.print(strWeek+"요일 ");
		System.out.print(hour+"시 ");
		System.out.print(minute+"분 ");
	}
}

 

 

 

 

 

 

 

 

반응형