Bài Tập Java Số 6: Viết Chương Trình So Sánh 2 Chuỗi
Đề bài
Viết chương trình so sánh 2 chuỗi theo thứ tự từ điển và có phân biệt chữ hoa chữ thường. Chú ý không sử dụng các hàm thư viện có sẵn.Input: s1, s2.
Output: Trả về -1 nếu s1<s2; 0 nếu s1=s2; 1 nếu s1>s2;
Giải thuật
Ta sử dụng 1 vòng lặp để so sánh từng ký tự có cùng chỉ mục, bắt đầu từ chỉ mục 0 của 2 chuỗi. Ngay khi tìm được sự khác nhau thì ta kết luận ngay được chuỗi nào lớn hơn hay nhỏ hơn và lập tức thoát ra khỏi vòng lặp.Code mẫu
package baitap6;
import java.util.Scanner;
public class baitap6 {
public static void main(String[] args) {
String s1 = new String ();
String s2 = new String ();
Scanner nhap = new Scanner (System.in);
System.out.println("Nhap chuoi thu nhat: ");
s1 = nhap.nextLine();
System.out.println("Nhap chuoi thu hai: ");
s2 = nhap.nextLine();
int l = Math.min(s1.length(),s2.length());
int dem = 0;
for (int i = 0; i < l; i++)
{
if( s1.charAt(i) < s2.charAt(i))
{
System.out.println("-1");
break;
}
else if (s1.charAt(i) > s2.charAt(i))
{
System.out.println("1");
break;
}
else
dem++;
}
if (dem == l)
{
if(s1.length() < s2.length())
System.out.println("-1");
else if (s1.length() > s2.length())
System.out.println("1");
else
System.out.println("0");
}
}
}
Post a Comment