문제와 해답은 직접 작성한 것으로 오타가 있을 수도 있으며 해답역시 틀린 부분이 있을 수 있습니다. 틀린 부분에 대한 지적은 적극 수용하도록 하겠습니다. 문제를 먼저 풀어보시고 참고용으로만 봐주시길
바랍니다.
연습문제 6장
1. 어떤 패키지에 속한 클래스들이 import하지 않고도 사용할 수 있는가?
java.lang
2. 다음 코드는 키보드로 문자열을 읽어 ‘/’문자로 분리하여 출력하는 코드이다. import문 없이 동작할 수 있도록 수정하라.
import java.util.*;
public class Example {
public static void main(string[] args) {
Scanner scanner = new Scanner(System.in);
StringTokenizer st = new StringTokenizer(scanner.nextLine(),"/");
while(st.hasMoreToken())
System.out.println(st.nextToken());
}
}
public class Example {
public static void main(string[] args) {
java.util.Scanner scanner = new java.util.Scanner(System.in);
java.util.StringTokenizer st = new java.util.StringTokenizer(scanner.nextLine(),"/");
...
3. 다음 Circle 클래스를 drawable 패키지에 속하게 하고자 한다. 빈칸을 채워라.
______________ // Package drawable;
public class Circle {
int radius;
public Circle(int radius) { this.radius = radius; }
}
그리고 다음 Main 클래스를 app 패키지에 저장하고, drawable 패키지에 속한 Circle 클래스를 사용하고자 한다. 다음 코드의 빈칸을 채워라.
______________ // Package app;
______________ // import drawable.Circle;
public class Main {
public static void main(string [] args) {
Circle c = new Circle(5);
}
}
4. Wrapper 클래스에 대한 질문이다. 각 한 줄의 코드로 작성하라.
(1) 문자열 "20"을 정수 20으로 변환하는 코드를 작성하라.
Integer.parseInt("20");
(2) 문자열 "35.9"를 double 타입의 실수 35.9로 변환하는
코드를 작성하라.
Double.parseDouble("35.9");
(3) 불린 값 true를 "true"라는 문자열로 변환하는
코드를 작성하라.
Boolean.toString(true);
(4) char 타입의 변수 c의 문자가 영문자면 "eng"를 출력하라.
if(Character.isAlphabetic(c)) System.out.println("eng");
(5) int
타입의 변수 n의 값을 이진수의 문자열로 변환하는 코드를 작성하라.
Integer.toBinnaryString(n);
(6) 정수 50을 16진수의 문자열로 변환하는 코드를 작성하라.
Integer.toHexString(50);
5. 다음 코드에서 박싱, 자동
박싱, 언박싱, 자동
언박싱이 있는 부분을 파악하라.
(1) Integer n = new Integer(20);
(2)
double d = 1.2 +
new Double(3.4);
(3)
System.out.print(3 + new
Integer(20));
(4) Boolean b = true;
(5)
float f = new
Float("10.1");
(6) String s = "abc";
6. ==연산자와 equals() 메소드의 용도는 서로 다르다. 이 둘 중 두 레퍼런스가 같은지 비교하기 위해 사용되는 것은 무엇인가? ‘==’ 그리고 두 레퍼런스가 가리키는 객체의 내용물이 같은지 비교하기 위해 사용되는 것은 무엇인가? ‘equals()’
7. 다음 코드에 대해 물음에 답하여라.
String a = "Hello";
String b = "Hello";
String c = "Java";
String d = new String("Hello");
String e = new String("Java");
String f = new String("Java");
(1) a와 == 연산을 수행하였을때 ture가 되는 문자열을 b-f중 모두 골라라.
b
(2) f와 equals() 연산을 수행하였을때 true가 되는 문자열을 a-e중 골라라.
c, e
8. 다음 문장의 실행 결과에 맞게 빈칸을 채워라.
StringTokenizer st = new StringTokenizer("2+3+4+6", "+");
int n = st.countTokens();
System.out.println("토큰 갯수 = " + n);
while(____________) { // st.hasMoreToken()
System.out.print(____________ + " "); // st.nextToken()
}
9. 다음 연산의 결과 a, b, c는 어떤 문자열인가?
String a = new String(" hello ");
String b = a;
String c = a.trim();
String a = a.toUpperCase();
a : ' HELLO '
b : ' hello '
c : 'hello'
Ghost