06/04/2021, 14:47

Kiểm tra chuỗi đối xứng trong java - Bài tập Java có lời giải cơ bản đến nâng cao

Trong bài tập này chúng ta sẽ thực hiện chương trình để kiểm tra chuỗi đối xứng trong java bằng nhiều cách. Qua các ví dụ này các bạn sẽ hiểu rõ thêm về Stack,Queue trong java. Chuỗi đối xứng là chuỗi mà khi chúng ta đọc xuôi hay ngược đều cho ra 1 kết quả. ...

Trong bài tập này chúng ta sẽ thực hiện chương trình để kiểm tra chuỗi đối xứng trong java bằng nhiều cách. Qua các ví dụ này các bạn sẽ hiểu rõ thêm về Stack,Queue trong java.

Chuỗi đối xứng là chuỗi mà khi chúng ta đọc xuôi hay ngược đều cho ra 1 kết quả.

Dưới đây chúng ta sẽ có 3 cách để thực hiện chương trình kiểm tra chuỗi đối xứng:

  1. Sử dụng Stack.
  2. Sử dụng Queue.
  3. Sử dụng vòng lặp For/While.

Ví dụ 1: Kiểm tra chuỗi đối xứng trong java sử dụng Stack

*Lưu ý: Trước khi vào ví dụ bên dưới thì các bạn phải hiểu được Stack là gì và nó hoạt động như thế nào (google !!).

import java.util.Stack;
import java.util.Scanner;
class KiemTraChuoiDoiXung {
    public static void main(String[] args) {
        System.out.print("Nhập vào chuỗi bạn muốn kiểm tra:");
        Scanner in=new Scanner(System.in);
        String inputString = in.nextLine();
        Stack stack = new Stack();
        for (int i = 0; i < inputString.length(); i++) {
            stack.push(inputString.charAt(i));
        }
        String reverseString = "";

        while (!stack.isEmpty()) {
            reverseString = reverseString+stack.pop();
        }
        if (inputString.equals(reverseString))
            System.out.println("Đây là chuỗi đối xứng.");
        else
            System.out.println("Đây không phải là chuỗi đối xứng.");
    }
}

Kết quả 1:

kiem tra chuoi doi xung 1 JPG

Kết quả 2:

kiem tra chuoi doi xung 2 JPG

Ví dụ 2: Kiểm tra chuỗi đối xứng trong java sử dụng Queue

* Lưu ý: Các bạn hãy tìm hiểu trước về Queue và cách hoạt động của nó trước khi vào ví dụ bên dưới.

import java.util.Queue;
import java.util.Scanner;
import java.util.LinkedList;
class KiemTraChuoiDoiXung {
    public static void main(String[] args) {
        System.out.print("Nhập vào chuỗi cần kiểm tra:");
        Scanner in=new Scanner(System.in);
        String inputString = in.nextLine();
        Queue queue = new LinkedList();
        for (int i = inputString.length()-1; i >=0; i--) {
            queue.add(inputString.charAt(i));
        }
        String reverseString = "";
        while (!queue.isEmpty()) {
            reverseString = reverseString+queue.remove();
        }
        if (inputString.equals(reverseString))
            System.out.println("Đây là chuỗi đối xứng.");
        else
            System.out.println("Đây không phải là chuỗi đối xứng.");
    }
}

Kết quả:

kiem tra chuoi doi xung 3 JPG

Ví dụ 3: Kiểm tra chuỗi đối xứng trong java sử dụng For/While

Ở ví dụ này chúng ta sẽ sử dụng vòng lặp For, While và sử dụng hàm String charAT().

import java.util.Scanner;
class KiemTraChuoiDoiXung {
    public static void main(String args[])
    {
        String reverseString="";
        Scanner scanner = new Scanner(System.in);
        System.out.println("Nhập vào chuỗi bạn muốn kiểm tra: ");
        String inputString = scanner.nextLine();
        int length = inputString.length();
        for ( int i = length - 1 ; i >= 0 ; i-- )
            reverseString = reverseString + inputString.charAt(i);
        if (inputString.equals(reverseString))
            System.out.println("Đây là chuỗi đối xứng!");
        else
            System.out.println("Đây không phải là chuỗi đối xứng!");
    }
}

Kết quả:

kiem tra chuoi doi xung 4 JPG

Như vậy chúng ta đã thực hiện xong 3 chương trình kiểm tra chuỗi đối xứng trong java. Chúc các bạn thực hiện thành công nhé !!!

Tạ Quốc Bảo

23 chủ đề

7270 bài viết

Cùng chủ đề
0