[Java_코드업100제] 1019

이경영·2023년 7월 20일
0

알고리즘

목록 보기
4/5

https://codeup.kr/problem.php?id=1019

년, 월, 일을 입력받아 지정된 형식으로 출력하는 연습을 해보자.

자바 코테를 위해 기본으로 다시 문제풀이 시작! (그치만 이것도 힘들다..)

import java.util.Arrays;
import java.util.Scanner;

public class 코드업100제_1019 {
    public static void main(String [] args){
        Scanner sc = new Scanner(System.in);
        String date[] =sc.next().split("\\.");
        int year = Integer.parseInt(date[0]);
        int month = Integer.parseInt(date[1]);
        int day = Integer.parseInt(date[2]);
        System.out.printf("%04d.%02d.%02d", year, month, day);
        sc.close();

    }
    
}

알게된것

  • .을 split할때는 \.을 사용한다.

  • System.out.printf로 표현하는 방법도 있지만.
    String.format("%04d", num) : num을 4자리 정수형태로 반환 => 이렇게 사용할 수도 있다!

  • 위의 코드에서 %02d 에 설명하면 다음과 같다.
    % : 명령 시작을 의미
    0 : 채워질 문자
    2 : 총 자리수
    d : 십진수로 된 정수

    => %02d : 십진수로 된 2자리의 정수 형식으로 나타냄. 단 자릿수가 부족할 경우 0으로 해당부분을 채움

  • 01, 02라는걸 문자로 표현해야 한다는건 알겠는데 왜 1을 String.format("%04s", string값) 이렇게쓰면 안되는걸까.. 의문..
profile
꾸준히

0개의 댓글