Đề bài: So sánh hai chuỗi ký tự (theo mã Ascii).
Phân tích
Ở đây, chúng ta cần xét xem chuỗi thứ nhất lớn hơn, nhỏ hơn hay bằng chuỗi thứ hai. (nhớ rằng lớn hơn, nhỏ hơn chứ không phải dài hơn, ngắn hơn bạn nhé)
Để làm được bài này, đơn giản chỉ cần sử dụng phương thức compareTo() của lớp String
[alert-announce]Phương thức: public int compareTo(String anotherString)
Với đối số truyền vào là chuỗi String cần so sánh với chuỗi ban đầu. Phương thức trả về một trong 3 giá trị: 0, số âm, hoặc số dương.
Nếu kết quả là 0: Hai chuỗi có mã Ascii bằng nhau.
Nếu là số âm: Chuỗi thứ nhất có mã Ascii nhỏ hơn chuỗi thứ hai.
Nếu số dương: Chuỗi thứ nhất có mã Ascii lớn hơn chuỗi thứ hai.
[/alert-announce]package com.ngockhuong.string; public class Exercise { public static void main(String[] args) { String str1 = "Đây là chuỗi thứ 1"; String str2 = "Đây là chuỗi thứ 2"; System.out.println("String 1: " + str1); System.out.println("String 2: " + str2); // So sánh 2 chuỗi, lưu kết quả vào biến result int result = str1.compareTo(str2); // Kiểm tra giá trị result if (result < 0) { System.out.println("\"" + str1 + "\"" + " nhỏ hơn " + "\"" + str2 + "\""); } else if (result == 0) { System.out.println("\"" + str1 + "\"" + " bằng " + "\"" + str2 + "\""); } else // if (result > 0) { System.out.println("\"" + str1 + "\"" + " lớn hơn " + "\"" + str2 + "\""); } } }
Kết quả
String 1: Đây là chuỗi thứ 1 String 2: Đây là chuỗi thứ 2 "Đây là chuỗi thứ 1" nhỏ hơn "Đây là chuỗi thứ 2"
Tham khảo
- compareTo() method in Java (Xem để hiểu rõ hơn cách dùng phương thức compareTo())