Menu
CoddyTech

Định dạng chuỗi nâng cao

Thuộc phần Logic và luồng chương trình trong hành trình Java của Coddy. Bài học 49 trên 59.

Định dạng chuỗi trong Java cho phép bạn tạo chuỗi theo định dạng bằng các chỉ định định dạng. Các chỉ định phổ biến nhất là %s cho chuỗi, %d cho số nguyên và %.2f cho số thập phân.

Định dạng chuỗi với nhiều giá trị:

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

Sau khi chạy đoạn code trên, text chứa:

Name: John, Age: 25

Định dạng số thập phân với độ chính xác:

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

Sau khi chạy đoạn code trên, formatted chứa:

Price: $19.99

challenge icon

Thử thách

Dễ

Tạo một phương thức có tên formatData nhận bốn đối số:

  1. Một String (name) để lưu tên sản phẩm
  2. Một double (price) để lưu giá sản phẩm
  3. Một số nguyên (quantity) để lưu số lượng
  4. Một String (format) để lưu kiểu định dạng đầu ra

Phương thức sẽ định dạng dữ liệu dựa trên các kiểu sau:

  • "basic": trả về "ITEM: {name}, PRICE: ${price}"
  • "detailed": trả về "PRODUCT: {name}\nPRICE: ${price}\nQUANTITY: {quantity}"
  • "total": trả về "TOTAL FOR {quantity}x {name}: ${total}" (total = price * quantity)

Tất cả giá phải có đúng 2 chữ số thập phân.

Thông báo trả về:

  • Nếu bất kỳ đầu vào nào là null hoặc kiểu định dạng không hợp lệ: trả về "Invalid input"

Tự làm thử

import java.util.Scanner;

public class Main {
    public static String formatData(String name, double price, int quantity, String format) {
        // Viết code của bạn ở đây
    }
    
    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 iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch Java online