Menu
Coddy logo textTech

고급 문자열 서식 지정

Coddy Java 여정의 논리와 흐름 섹션에 포함된 레슨 — 59개 중 49번째.

Java의 문자열 형식 지정은 형식 지정자를 사용하여 형식화된 문자열을 생성할 수 있게 합니다. 가장 일반적인 것은 문자열의 경우 %s, 정수의 경우 %d, 소수의 경우 %.2f입니다.

여러 값으로 문자열 포맷팅:

String name = "John";
int age = 25;
String text = String.format("Name: %s, Age: %d", name, age);

위 코드를 실행한 후, text는 다음을 포함합니다:

Name: John, Age: 25

소수점 숫자를 정밀도로 포맷팅:

double price = 19.99;
String formatted = String.format("Price: $%.2f", price);

위의 코드를 실행한 후, formatted에는 다음이 포함됩니다:

Price: $19.99

challenge icon

챌린지

쉬움

formatData라는 이름의 메서드를 생성하세요. 이 메서드는 네 개의 인수를 받습니다:

  1. 제품 이름에 대한 String (name)
  2. 제품 가격에 대한 double (price)
  3. 수량에 대한 integer (quantity)
  4. 출력 형식 유형에 대한 String (format)

이 메서드는 다음 유형에 따라 데이터를 형식화해야 합니다:

  • "basic": "ITEM: {name}, PRICE: ${price}" 반환
  • "detailed": "PRODUCT: {name}\nPRICE: ${price}\nQUANTITY: {quantity}" 반환
  • "total": "TOTAL FOR {quantity}x {name}: ${total}" 반환 (total = price * quantity) 모든 가격은 정확히 2개의 소수점 자리로 형식화되어야 합니다.

반환 메시지:

  • 입력 중 하나라도 null이거나 형식 무효인 경우: "Invalid input" 반환

치트 시트

Java에서 문자열 형식 지정은 String.format()을 사용하여 형식 지정자를 사용합니다:

  • %s 문자열을 위한
  • %d 정수를 위한
  • %.2f 소수점 2자리 정밀도의 소수를 위한

여러 값으로 문자열 형식 지정:

String name = "John";
int age = 25;
String text = String.format("Name: %s, Age: %d", name, age);
// Result: "Name: John, Age: 25"

소수점 정밀도로 소수 형식 지정:

double price = 19.99;
String formatted = String.format("Price: $%.2f", price);
// Result: "Price: $19.99"

직접 해보기

import java.util.Scanner;

public class Main {
    public static String formatData(String name, double price, int quantity, String format) {
        // 여기에 코드를 작성하세요
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String name = scanner.nextLine();
        double price = Double.parseDouble(scanner.nextLine());
        int quantity = Integer.parseInt(scanner.nextLine());
        String format = scanner.nextLine();
        
        if (name.equals("null")) name = null;
        if (format.equals("null")) format = null;
        
        System.out.println(formatData(name, price, quantity, format));
    }
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리와 흐름의 모든 레슨