1. while문을 가진 다음 프로그램에 대해 물음에 답하라.
int i = 0, sum = 0;
while(i<10) {
i = i + 2;
sum += i;
}
System.out.println(sum);
(1) 무엇을 계산하는 프로그램이며, 실행 결과는?
답: 10보다 작은 2의 배수, 실행결과: 30
(2) 앞의 실행 결과와 동일한 실행 결과를 얻고자 할 때 다음 빈칸을 채워라.
답:
int i = 0, sum = 0;
while(true) {
i = i + 2;
sum += i;
if(i > 10) break;
}
System.out.println(sum);
int i = 0, sum = 0;
do {
i = i + 2;
if(i > 10) continue;
sum += i;
} while(i<10)
System.out.println(sum);
2. 다음 for문에 대해 물음에 답하라.
double sum = 0.0;
double d[] = {1.0, 2.3, 3.4, 5.5};
for(int i=0; i<4; i++) sum += d[i];
System.out.println(sum);
(1) 예상되는 실행 결과는 무엇인가?
답: 12.2
(2) for(int i=0; i <4; i++) 부분을 배열의 length 필드를 이용하여 수정하라.
답: for(int i=0; i <d.length; i++)
(3) while문으로 바꾸어 작성하라.
답:
double sum = 0.0;
double d[] = {1.0, 2.3, 3.4, 5.5};
int i = 0;
while(i < 4) {
sum += d[i];
i++;
}
System.out.println(sum);
(4) do-whlie 문으로 바꾸어 작성하라.
답:
double sum = 0.0;
double d[] = {1.0, 2.3, 3.4, 5.5};
int i = 0;
do {
sum += d[i];
i++;
}
while(i < 4);
System.out.println(sum);
(5) for-each 문으로 바꾸어 작성하라.
답:
double sum = 0.0;
double d[] = {1.0, 2.3, 3.4, 5.5};
for(double i : d) sum+= i;
System.out.println(sum);
3. 배열을 선언하고 생성하는 다음 물음에 답하라.
(1) 10개의 문자를 가지는 배열 c를 생성하는 코드를 쓰라.
답: char c[] = new char[10];
(2) 0에서 5까지 정수 값으로 초기화된 정수 배열 n을 선언하라.
답: int n = {0, 1, 2, 3, 4, 5};
(3)'일', '월', '화', '수', '목', '금', '토'로 초기화된 배열 day를 선언하라.
답: char day[] = {'일', '월', '화', '수', '목', '금', '토'};
(4) 5행 4열 크기의 실수 배열 d를 선언하라.
답: double d[][] = new double[5][4];
(5) 1에서 12까지 순서대로 정수로 초기화되는 3행 4열의 이차원 배열 var을 선언하라.
답: int var[][] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
4. 다음 코드에 대해 실행 중 오류가 발생하는 보기는?
답: 4번, int [][]n = {{1, 2}, {3, 4}, {4, 5}}; 가 되야한다.
6. for-each 문을 이용하여 배열 b를 모두 출력하고자 한다. 빈칸에 적절한 코드를 삽입하라.
답:
boolean [] b = {true, false, true, true};
for(boolean boo : b)
System.out.println(boo);
7. 다음은 사용자로부터 배열의 개수를 얻어서 배열을 생성하여 리턴하는 allocArray() 메서드를 작성하고자 한다.
(1) 빈칸을 적절한 코드로 채워라.
답:
static double[] allocArray() {
Scanner scanner = new Scanner(System.in);
double [] n = new double[scanner.nextInt()];
return n;
}
(2) allocArray()를 호출하여 배열을 전달받는 한 줄의 코드를 작성하라.
답: double d [] = allocArray();
8. 다음 코드에 대해 물음에 답하라.
String s = "123";
try {
int n = Integer.parseInt(s);
n++;
System.out.println(n);
}
catch (NumberFormatException e) {
System.out.println(s+"를 정수로 변환할 수 없습니다.");
}
finally {
System.out.println("계산을 끝냅니다.");
}
(1) 코드를 실행하면 출력되는 내용은?
답: 124
계산을 끝냅니다.
(2) s가 “23.5”일 때 앞의 코드를 실행한 결과 출력되는 내용은?
답: 23.5를 정수로 변환할 수 없습니다.
계산을 끝냅니다.
'JAVA' 카테고리의 다른 글
명품 자바 에센셜 4강 이론문제 (0) | 2022.03.16 |
---|---|
명품 자바 에센셜 3강 실습문제 (0) | 2022.03.10 |
명품 자바 에센셜 2강 실습문제 10번 (0) | 2022.03.07 |
명품 자바 에센셜 2강 실습문제 9번 (0) | 2022.03.07 |
명품 자바 에센셜 2강 실습문제 8번 (0) | 2022.03.07 |