Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Chương trình Java so sánh hai chuỗi theo thứ tự từ điển

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

  1. Bắt đầu
  2. Khai báo hai chuỗi input_string_1, input_string_2
  3. Gán giá trị
  4. So sánh bằng .compareTo()
  5. Hiển thị kết quả
  6. 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).