728x90
1회-1번) 아래 자바 코드에서 출력되는 값을 작성하시오.
class Static {
public int a = 20;
static int b = 0;
}
public class Test001 {
public static void main(String[] args) {
int a;
a = 10;
Static.b = a;
Static st = new Static();
System.out.println(Static.b++);
System.out.println(st.b);
System.out.println(a);
System.out.println(st.a);
}
}
더보기
답:
10
11
10
20
1회-14번)
public class Test002 {
public static void swap(int[] arr, int idx1, int idx2) {
int temp = arr[idx1];
arr[idx1] = arr[idx2];
arr[( 1 )] = temp;
}
public static void Usort(int[] array, int length) {
for(int i=0; i<length; i++) {
for(int j=0; j<length; i++) {
if(array[j] > array[j+1]) {
swap(array, j, j+1);
}
}
}
}
public static void main(String[] args) {
int[] item = new int[] {5, 3, 8, 1, 2, 7};
int nx = 6;
Usort(item, ( 2 ));
for (int data : item) {
System.out.print(data + " ");
}
}
}
더보기
(1) idx2
(2) nx
만약에 출력 값을 적으라고 하면
1 2 3 5 7 8
swap 메소드를 거치면서 값이 큰 것을 뒤로 바꾸기 때문이다.
1회-17번) 다음 Java 코드에서 알맞는 출력 값을 작성하시오.
abstract class Vehicle {
String name;
abstract public String getName(String val);
public String getName() {
return "Vehicle name:" + name;
}
}
class Car extends Vehicle {
public Car(String val) {
name = super.name = val;
}
public String getName(String val) {
return "Car name: " + val;
}
public String getName(byte val[]) {
return "Car name: " + val;
}
}
public class Test003 {
public static void main(String[] args) {
Vehicle obj = new Car("Spark");
System.out.println(obj.getName());
}
}
더보기
답: Vehicle name: Spark
1회-20번)
class Parent {
int x = 100;
Parent() {
this(500);
}
Parent(int x) {
this.x = x;
}
int getX() {
return x;
}
}
class Child extends Parent {
int x = 4000;
Child() {
this(5000);
}
Child(int x) {
this.x = x;
}
}
public class Test004 {
public static void main(String[] args) {
Child obj = new Child();
System.out.println(obj.getX());
}
}
더보기
답: 500
new Child() 생성자 호출 순서는 Parent, 그 다음 Child이다.
Parent의 기본 생성자가 실행되면서 this(500)이므로 x = 500이 된다.
getX를 실행하게 되면 Parent의 x가 500이므로 답은 500이다.
2회-2번) 다음은 Java 코드 문제이다. 가지고 있는 돈이 총 4620원일 경우 1000원, 500원, 100원, 10원의 지폐 및 동전을 이용하여 보기의 조건에 맞춰 최소한의 코드를 통해 괄호안을 작성하시오.
public class Test005 {
public static void main(String[] args) {
int m = 4620;
a = ( );
b = ( );
c = ( );
d = ( );
System.out.println(a); // 천원짜리 4장 출력
System.out.println(b); // 오백원짜리 1개 출력
System.out.println(c); // 백원짜리 1개 출력
System.out.println(d); // 십원짜리 2개 출력
}
}
더보기
답: m/1000, (m%1000)/500, (m%1000%500)/100, (m%1000%500%100)/10
2회-14번) 다음 Java에 대한 문제이다. 알맞은 출력값을 작성하시오.
public class Test006 {
public static void main(String[] args) {
String str1 = "Programming";
String str2 = "Programming";
String str3 = new String("Programming");
System.out.println(str1==str2);
System.out.println(str1==str3);
System.out.println(str1.equals(str3));
System.out.print(str2.equals(str3));
}
}
더보기
답:
true
false
true
true
==는 참조변수의 주소가 같은지 비교하고, equals()는 문자열이 같은지 비교한다.
==를 사용 시 문자열 리터럴이 같으면 같은 String 객체를 공유한다.
'Language > Java' 카테고리의 다른 글
[Java] 타입 변환 쉽게 이해하기 (2) | 2024.04.08 |
---|---|
[Java] 추상 클래스와 인터페이스의 차이 (4) | 2024.04.08 |
[정보처리기사] 2022년 Java 프로그래밍 언어 문제 (0) | 2024.04.07 |
[정보처리기사] 2021년 Java 프로그래밍 언어 문제 (0) | 2024.04.07 |
[정보처리기사] 2020년 Java 프로그래밍 언어 문제 (1) | 2024.04.07 |