Header Ads

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");
  }
 }
}

Không có nhận xét nào

Được tạo bởi Blogger.