Hướng dẫn 4 cách làm việc với Java Reverse String

Cách làm việc với Java Reverse String được thực hiện như thế nào trong ngôn ngữ lập trình Java. Mời bạn đọc tham khảo nội dung bài viết mà Box.edu chia sẻ dưới đây. 

Mục lục bài viết

Java Reverse String là gì?

Java Reverse String (Hay còn được gọi là đảo ngược chuỗi) là một trong những bài toàn phổ biến khi học phần String của ngôn ngữ lập trình Java.

Đảo ngược một chuỗi có nghĩa là sắp xếp lại thứ tự của các ký tự bằng cách lật chúng từ ký tự cuối cùng sang ký tự đầu tiên. Java cung cấp một API để giúp bạn hoàn thành nhiệm vụ này dễ dàng hơn.

Bằng cách sử dụng lớp String Buffer và phương thức reverse () của nó, bạn sẽ có thể đảo ngược chuỗi đã cho trong Java.

Hướng dẫn cách làm việc với Java Reverse String

Đảo ngược bằng đệ quy

Cách để đảo ngược một chuỗi là sử dụng đệ quy. Đệ quy là sự gọi lặp đi lặp lại của một phương thức.

Mẫu minh họa như sau:

public  static String reverseStringUsingRecursionSample (String sampleStr)
 { 
String rightString = ""; Chuỗi leftString = "";
int len ​​= sampleStr.length ();
if (len <= 1) return sampleStr; 
leftString = sampleStr.substring (0, len / 2); 
rightString = sampleStr.substring (len / 2, len); trả về reverseStringUsingRecursionSample (rightString) + reverseStringUsingRecursionSample (leftString); 
}

Đầu tiên, độ dài của chuỗi được xác định. Nếu chuỗi chỉ có một ký tự hoặc trống, thì đệ quy trả về chuỗi ban đầu và đệ quy không được lặp lại nữa.

Nếu không, biến leftString được gán một nửa chuỗi gốc và nửa còn lại được gán cho biến rightString. 

Sau đó, phương thức này lại chuyển đoạn nối của rightString sang cùng một phương thức, sau đó được thêm vào leftString cho đến khi toàn bộ chuỗi thực hiện xong được đảo ngược.

Tiếp theo, chúng ta sử dụng chuỗi “Java” trong chương trình như sau:

First pass       len = 4

leftString = “JA”

rightString = “VA”

return “VA” + “JA”

Nếu “A” được chuyển đến phương thức Reverse String Using Recursion Sample (), nó sẽ chỉ được trả về nguyên trạng. Do đó, quá trình đệ quy trong phần này của chuỗi đã kết thúc.

Vì trong lần vượt qua đầu tiên, chuỗi trái là “VA” có đảo ngược là “A” + “V” và chuỗi phải, “JA”, có kết quả là “A” + “J”.

Cuối cùng, kết quả sẽ là “A” + “V” + “A” + “J”.

Đảo ngược bằng hàm chartAt()

Cách làm việc với Java Reverse String là sử dụng hàm charAt () để định vị lại từng ký tự một.

Mã mẫu được minh họa như sau:

public static String reverseStringUsingCharAtSample(String sampleStr)
{              
int len = sampleStr.length();              
String strReversed = "";              
for (int i = 0; i < len; i++)    {                           
strReversed = sampleStr.charAt(i) + strReversed;              
return strReversed; }
}

Đầu tiên, độ dài của toàn bộ chuỗi được gán cho biến len, sau đó một vùng chứa cho chuỗi đảo ngược (strReversed) được khai báo là trống.

Tiếp theo, sử dụng vòng lặp for, trong đó i được khởi tạo là 0 và giới hạn lặp là độ dài chuỗi nhỏ hơn 1. Hàm charAt () được sử dụng để lấy ký tự trong chỉ mục i rồi lưu vào biến strReversed được thêm vào hiện tại giá trị của strReversed.

Ví dụ chi tiết về sử dụng chuỗi “JAVA”:

1st Pass            – charAt(0)     strReversed = “J” + “”             =          “J”

2nd Pass – charAt(1)    strReversed = “A” + “J”          =          “AJ”

3rd Pass – charAt(2)     strReversed = “V” + “AJ”        =          “VAJ”

4th Pass – charAt(3)     strReversed = “A” + “VAJ”      =          “AVAJ”

Đảo ngược theo mảng ký tự

Cách làm việc với Java Reverse String tiếp theo mà chúng tôi muốn giới thiệu tới bạn đọc là đảo ngược theo mảng ký tự. 

Phương thức này sử dụng hàm toCharArray (). Nó tương tự như cách phương thức charAt () được sử dụng nhưng thay vì bắt đầu từ ký tự chỉ mục đầu tiên, bạn sẽ bắt đầu từ ký tự cuối cùng và tiếp tục thêm phần còn lại của các ký tự theo thứ tự đảo ngược. 

Mã mẫu:

public static String reverseStringUsingCharArraySample(String sampleStr)
{              
char[] charArray = sampleStr.toCharArray();              
String reversedStr = "";              
for (int i = charArray.length - 1; i >= 0; i--)      {                         
reversedStr += charArray[i];                             
return reversedStr; }
}

Vì vậy, sự khác biệt là nếu bạn nhìn vào lần khởi tạo số nguyên “i”, nó được gán giá trị có độ dài của sampleStr nhỏ hơn 1, được chuyển đổi thành một mảng ký tự. Nghĩa là bạn sẽ nhận được ký tự cuối cùng của chuỗi trước. Giới hạn của vòng lặp là 0 và thay vì tăng 1, vòng lặp for sử dụng giảm 1, biểu thị luồng ngược của nó.

Tiến trình thực hiện với chuỗi “Java” như sau:

1st Pass – charArray[3]            reversedStr = “A”                    = “A”

2nd Pass – charArray[2]           reversedStr = “A” + “V”          = “AV”

3rd Pass – charArray[1]           reversedStr = “A” + “AV”        = “AVA”

4th Pass – charArray[0]           reversedStr = “J” + “AVA”      = “AVAJ”

Đảo ngược bởi bộ đệm chuỗi

Cách làm việc với Java Reverse String là sử dụng bộ đệm chuỗi. 

Phương thức thuận tiện nhất trong số các phương thức đã cho là hàm StringBuffer () trong Java. Chỉ cần một dòng mã để cung cấp cho bạn phiên bản đảo ngược của chuỗi gốc của bạn. Xem mã mẫu:

String originalString = "JAVA"; 
String reverseedString =  new  StringBuffer (originalString) .reverse (). ToString ();

Chỉ cần khai báo một biến vùng chứa cho đầu ra của bạn và chuyển chuỗi ban đầu vào phương thức StringBuffer () . Đầu ra mong muốn sẽ được trả về và gán cho vùng chứa.

Dao-nguoc-chuoi-bang-STACK-trong-Java (1)Ví dụ về cách làm việc với Java Reverse String bằng Stack

Tổng kết

Như vậy thông qua bài viết trên đây, Box.edu đã cùng bạn tìm hiểu về Cách làm việc với Java Reverse String. Đây là những kiến thức căn bản khi bạn muốn học Java. Vì vậy, hãy vận dụng những kiến thức mà chúng tôi đã chia sẻ để học học lập trình dễ dàng hơn nhé.

Cảm ơn và chúc các bạn thành công!

3.5/5 - (24 bình chọn)
Xin chào các bạn! Mình là Hà Nguyên Phương Hiện đang là tác giả của Box.edu.vn website nổi tiếng chuyên review, đánh giá, giới thiệu các khóa học hay nhất hiện nay.