컴퓨터/프로그래머스

[Java] 프로그래머스 코딩테스트 연습 / a와 b 출력하기

peridott 2026. 1. 13. 23:08

문제


정답

import java.util.Scanner;

public class Solution {
	public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        
        System.out.println("a= " + a);
        System.out.println("b= " + b);
    }
}

개념설명

1. import java.util.Scanner;

import java.util.Scanner;

✔️ 의미

  • Scanner 클래스를 사용하겠다고 선언
  • 키보드 입력을 처리하기 위해 필요

✔️ 이유

  • Scanner는 java.util 패키지에 포함
  • java.lang 패키지가 아니므로 import 필수

 

2. 클래스 선언

public class Solution {

✔️ 의미

  • Solution이라는 클래스 정의
  • 자바 프로그램은 반드시 클래스 내부에서 실행 됨

 

3. main 메서드 (프로그램 시작점)

public static void main(String[] arg) {

✔️ 의미

  • 프로그램 실행 시 가장 먼저 호출되는 메서드
구성요소 의미
public JVM 접근 허용
static 객체 생성 없이 실행
void 반환값 없음
main 고정된 메서드 이름(이 형태는 절대 바꾸면 안됨)
String[] args 실행 인자

 

4. Scanner 객체 생성

Scanner sc = new Scanner(System.in);

✔️ 의미

  • 키보드 입력을 받을 준비
부분 설명
Scanner 입력 클래스
sc 객체 변수
new 객체 생성
System.in 표준 입력(키보드)

 

5. 첫 번째 정수 입력

int a = sc.nextInt();

✔️ 의미

  • 키보드로 입력한 값을 정수(int)로 받아
  • 변수 a에 저장

✔️ 동작 순서

  1. 입력 대기
  2. 숫자 입력 (예: 10)
  3. nextInt() 가 정수로 변환
  4. a에 저장

❌ 정수가 아닌 값 입력 시, InputMismatchException 발생

 

6. 두 번째 정수 입력

int b = sc.nextInt();

✔️ 의미

  • 또 하나의 정수를 입력받아
  • 변수 b에 저장
  • 입력은 순서대로 들어감

 

7. 출력문 (변수 a)

System.out.println("a = " + a);

✔️ 의미

  • 문자열 "a = " 뒤에 변수 a의 값을 붙여 출력
  • 출력 후 줄바꿈 포함

✔️ 내부 동작

"a = " + a
  • "a = " → String
  • a → int
  • String이 하나라도 있으면 → 문자열 연결

 

8. 출력문 (변수 b)

System.out.println("b = " + b);

✔️ 의미

  • 변수 b의 값을 같은 방식으로 출력

🔚 전체 실행 흐름 요약

  1. 프로그램 시작 (main)
  2. Scanner 생성
  3. 정수 2개 입력
  4. 첫 번째 값 출력
  5. 두 번째 값 출력

💡 핵심 포인트 정리

문법 의미
nextInt() 정수 입력
int 정수 타입
+ (String 포함) 문자열 연결
println() 출력 + 줄바꿈

💡 꿀팁

✔️ 입력을 줄로 받는 경우

int a = Integer.parseInt(sc.nextLine());

✔️Scanner 닫기 (권장)

sc.close();

✔️ 출력 형식 바꾸기

System.out.printf("a = %d\nb = %d", a, b);