[Java] 정처기 실기 기출 문제 풀이 (2022년)

2025. 7. 4. 18:35·자격증/정보처리기사 (실기)

2022년 1회 

1. 다음 Java 코드의 출력 결과를 작성하시오.

class A {
  int a;
  int b;
}
  
public class Main {
  
  static void func1(A m) {
    m.a *= 10;
  }
  
  static void func2(A m) {
    m.a += m.b;
  }
  
  public static void main(String args[]){
  
  A m = new A();
  
  m.a = 100;
  func1(m);
  m.b = m.a;
  func2(m);
  
  System.out.printf("%d", m.a);
  }
}
더보기
class A { // 클래스 A 생성
  int a;
  int b;
}
  
public class Main {
  
  static void func1(A m) {
    m.a *= 10;
  }
  
  static void func2(A m) {
    m.a += m.b;
  }
  
  public static void main(String args[]){ // main 함수는 배열을 매개변수로 받음 
  
  A m = new A(); // A m은 새로운 A 클래스의 인스턴스를 담고 있음 
  
  m.a = 100; 
  func1(m); // m.a는 1000
  m.b = m.a; // m.b는 1000
  func2(m); // m.a는 2000
  
  System.out.printf("%d", m.a); // 2000
  }
}

 

답: 2000 

 

2. 다음 Java 코드 중에서 밑줄에 들어갈 알맞는 코드를 작성하시오.

class Car implements Runnable{
  int a;
  
  public void run(){
     system.out.println("Hello")
  }
}
  
public class Main{
  public static void main(String[] args){
    Thread t1 = new Thread(new ___());
    t1.start();
  }
}
더보기
class Car implements Runnable{ // Car 클래스는 Runnable 인터페이스를 상속 받음
  int a;
  
  public void run(){ // run() 메소드 선언 
     system.out.println("Hello")
  }
}
  
public class Main{
  public static void main(String[] args){
    Thread t1 = new Thread(new ___()); 
    t1.start(); // .start() 메소드로 thread 실행 => run() 호출돼서 Hello 출력
  }
}

 

Car가 Thread를 상속받고 있기 때문에 Car()로 인스턴스를 먼저 생성해주어야 한다. 

 

답: Car 

 

2022년 2회 

1.  다음 자바 코드에 알맞는 출력값을 작성하시오.

public static void main(String args[]){
  int i = 3; int k = 1; 
  switch(i) { 
    case 1: k += 1;
    case 2: k++;
    case 3: k = 0; 
    case 4: k += 3; 
    case 5: k -= 10; 
    default: k--; 
  }
  System.out.print(k); 
}
더보기
public static void main(String args[]){
  int i = 3; int k = 1; 
  switch(i) { // i가 3이므로 3부터 시작
    case 1: k += 1;
    case 2: k++;
    case 3: k = 0; // k를 1에서 0으로 만듦
    case 4: k += 3; // k = 3
    case 5: k -= 10; // k = -7
    default: k--; // k = -8
  }
  System.out.print(k); 
}

 

답: -8

 

2. 다음 자바코드에서 알맞는 출력값을 작성하시오.

public class Conv{ 
    public Conv(int a) {
        this.a = a;
    } 
    int func() {
        int b =1; 
        for (int i=1; i<a; i++){ 
             b = a * i + b 
        }
        return a +b;
    }
    int a;
}
 
public static void main(String[] args){
    Conv obj = new Conv(3);
    obj.a=5; 
    int b = obj.func();
    system.out.print(obj.a + b);
}
더보기
public class Conv{ // Conv 클래스 생성
    public Conv(int a) { // Conv 생성자 
        this.a = a;
    } 
    int func() { // func() 메소드 선언 
        int b =1; 
        for (int i=1; i<a; i++){  
             b = a * i + b 
        }
        return a +b;
    }
    int a;
}
 
public static void main(String[] args){
    Conv obj = new Conv(3); // 인자를 3으로 하여 새로운 Conv 인스턴스 생성 (a=3)
    obj.a=5; // obj 인스턴스의 a값을 5로 업데이트 
    int b = obj.func(); // func() 메소드의 리턴값을 b에 넣음 
    system.out.print(obj.a + b);
}

 

i = 1, 

b = 5 * 1 + 1 = 6

i = 2, 

b = 5 * 2 + 6 = 16

i = 3, 

b = 5 * 3 + 16 = 31

i = 4, 

b = 5 * 4 + 31 = 51

a + b = 5 + 51 = 56

따라서 b = 56, obj.a = 5이므로 둘이 더하면 61

 

답: 61

 

2022년 3회 

1. 다음 자바 코드에 대한 출력 값을 작성하시오.

public class Main {
  static int[] MakeArray(){
 
  int[] tempArr = new int[4];
  
  for(int i=0; i<tempArr.Length;i++){
    tempArr[i] = i;
  }
  
  return tempArr;
  }
  
  public static void main(String[] args){
  
  int[] intArr;
  intArr = MakeArray();
  
  for(int i=0; i < intArr.Length; i++)
  System.out.print(intArr[i]);
 
  }
}
더보기
public class Main { // Main 클래스 정의 
  static int[] MakeArray(){ // MakeArray() 메소드 정의 
 
  int[] tempArr = new int[4]; // 크기 4인 정수 배열 tempArr 생성
  
  for(int i=0; i<tempArr.Length;i++){ 
    tempArr[i] = i; // tempArr에 0, 1, 2, 3 저장 
  }
  
  return tempArr;
  }
  
  public static void main(String[] args){ // main() 함수 정의 
  
  	int[] intArr; // intArr 배열 선언 
  	intArr = MakeArray(); // 0, 1, 2, 3 차례대로 intArr에 저장 
  
  	for(int i=0; i < intArr.Length; i++) // intArr의 길이만큼 반복해서  
  		System.out.print(intArr[i]); // 값 1개씩 출력 (println 아니라서 들여쓰기 X)
  }
}

 

답: 0123

 

2. 다음 자바 코드에 대한 출력 값을 작성하시오.

public class Exam {
  public static void main(String[] args){
  
  int a = 0;
  for(int i=1; i<999; i++){
    if(i%3==0 && i%2!=0)
      a = i;
    }
    System.out.print(a);
}
더보기
public class Exam {
  public static void main(String[] args){
  
  int a = 0;
  for(int i=1; i<999; i++){ // 998번 반복
    if(i%3==0 && i%2!=0) // i가 3의 배수이면서 2의 배수는 아니라면 
      a = i; // a 값 업데이트 
    }
   System.out.print(a); // 최종 업데이트된 값 출력
}

 

최종적으로 업데이트된 값을 출력하는 것이기 때문에 998부터 찾는 게 쉽다. 

 

답: 993

'자격증 > 정보처리기사 (실기)' 카테고리의 다른 글

[C] 정처기 실기 기출 문제 풀이  (0) 2025.07.04
[Java] 정처기 실기 기출 문제 풀이 (2021년)  (1) 2025.07.01
[Java] 정처기 실기 기출 문제 풀이 (2020년)  (1) 2025.07.01
[Java] 기본 문법 총정리 (2/2)  (1) 2025.06.30
[Java] 기본 문법 총정리 (1/2)  (2) 2025.06.29
'자격증/정보처리기사 (실기)' 카테고리의 다른 글
  • [C] 정처기 실기 기출 문제 풀이
  • [Java] 정처기 실기 기출 문제 풀이 (2021년)
  • [Java] 정처기 실기 기출 문제 풀이 (2020년)
  • [Java] 기본 문법 총정리 (2/2)
말랑듀
말랑듀
공룡을 좋아하세요...
  • 말랑듀
    Viva La Vida
    말랑듀
  • 전체
    오늘
    어제
  • 링크

    • GitHub
    • 분류 전체보기 (44) N
      • COMPUTER VISION (3) N
      • DEEP LEARNING (1)
      • CODING TEST (4)
      • CS (27)
        • COMPUTER ARCHITECTURE (5)
        • DATA STRUCTURE (7)
        • OPERATION STRUCTURE (0)
        • NETWORK (2)
        • CLOUD, DOCKER (1)
      • AWS (1)
      • 자격증 (9)
        • 정보처리기사 (실기) (8)
        • SQLD (1)
      • SECURITY (11)
        • NETWORK SECURITY (11)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 인기 글

  • 태그

    OSI계층
    정처기 실기
    자바
    DNS서버
    DDOS
    정보처리기사
    java
    DOS
    정처기 기출
    정처기
    스푸핑
    정보처리기사실기
    컴퓨터네트워크
    네트워크 계층
    프로토콜
    네트워크
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
말랑듀
[Java] 정처기 실기 기출 문제 풀이 (2022년)
상단으로

티스토리툴바