Đị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
Thử thách
DễTạo một phương thức có tên formatData nhận bốn đối số:
- Một String (
name) để lưu tên sản phẩm - Một double (
price) để lưu giá sản phẩm - Một số nguyên (
quantity) để lưu số lượng - 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));
}
}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
1Mảng đa chiều
Kiến thức cơ bản về mảng 2DTruy cập phần tử trong mảng 2DVòng lặp lồng nhau với mảng 2DÔn tập về mảng 2DPhép cộng và phép trừ ma trậnMảng không đềuMảng 3D trở lênCác mẫu thường gặp với mảng 2DÔn tập về mảng2HashMap phần 1
HashMap là gì?Khai báo HashMapTruy cập giá trịKiểm tra khóa có tồn tạiChỉnh sửa từ điểnÔn tập: HashMap5HashSet phần 2
Toán học: hợp của các HashSetToán học: giao của HashSetToán học: hiệu tập hợpToán học: hiệu đối xứngTập con và tập chaDuyệt qua các tập hợp8Thao tác chuỗi nâng cao
Kiến thức cơ bản về StringBuilderGiới thiệu về StringBufferKiến thức cơ bản về biểu thức chính quySo khớp mẫu bằng RegexStringTokenizerĐịnh dạng chuỗi nâng caoTự luyện tập: Trình biên dịch Java online