Trong bài viết này, chúng ta sẽ tìm hiểu cách so sánh hai chuỗi theo thứ tự từ điển (lexicographically). String là kiểu dữ liệu chứa một hoặc nhiều ký tự, bao quanh bởi dấu nháy kép. Trong Java, chuỗi được xử lý như đối tượng.
Ví dụ minh họa
Đầu vào:
Chuỗi 1: Morning Chuỗi 2: Evening
Đầu ra mong muốn:
Kết quả so sánh: 8
Thuật toán
- Bắt đầu
- Khai báo hai chuỗi
input_string_1,input_string_2 - Gán giá trị
- So sánh bằng
.compareTo() - Hiển thị kết quả
- Kết thúc
Ví dụ 1: Xử lý trực tiếp trong main
public class Demo {
public static void main(String[] args) {
String input_string_1 = "Morning";
System.out.println("Chuỗi 1: " + input_string_1);
String input_string_2 = "Evening";
System.out.println("Chuỗi 2: " + input_string_2);
System.out.println("\nKết quả so sánh:");
System.out.println(input_string_1.compareTo(input_string_2));
}
}
Kết quả
Chuỗi 1: Morning Chuỗi 2: Evening Kết quả so sánh: 8
Ví dụ 2: Sử dụng phương thức tách biệt (OOP)
public class Demo {
static void compare(String input_string_1, String input_string_2) {
System.out.println("\nKết quả so sánh:");
System.out.println(input_string_1.compareTo(input_string_2));
}
public static void main(String[] args) {
String input_string_1 = "Morning";
System.out.println("Chuỗi 1: " + input_string_1);
String input_string_2 = "Evening";
System.out.println("Chuỗi 2: " + input_string_2);
compare(input_string_1, input_string_2);
}
}
Kết quả
Chuỗi 1: Morning Chuỗi 2: Evening Kết quả so sánh: 8
Giải thích: compareTo() trả về số nguyên: < 0 nếu chuỗi 1 < chuỗi 2, = 0 nếu bằng nhau, > 0 nếu chuỗi 1 > chuỗi 2. Kết quả 8 là chênh lệch giá trị Unicode của 'M' (77) và 'E' (69).