Thứ Năm, 2 tháng 5, 2024

3.5: Đảo ngược chuỗi, ký tự

 

1. Đảo ngược chuỗi

2. Đảo ngược các từ trong chuỗi

1.

Dưới đây là ví dụ cách thực hiện việc đảo ngược một chuỗi trong Java:

  1. Sử dụng vòng lặp:
public class ReverseStringExample { public static void main(String[] args) { String str = "Hello, World!"; String reversed = reverseString(str); System.out.println("Chuỗi ban đầu: " + str); System.out.println("Chuỗi sau khi đảo ngược: " + reversed); } public static String reverseString(String str) { StringBuilder reversed = new StringBuilder(); for (int i = str.length() - 1; i >= 0; i--) { reversed.append(str.charAt(i)); } return reversed.toString(); } }
  1. Sử dụng StringBuilder hoặc StringBuffer:
public static String reverseString(String str) { StringBuilder reversed = new StringBuilder(str); return reversed.reverse().toString(); } }

Cả hai phương pháp này đều sẽ cho kết quả là "dlroW ,olleH" khi bạn áp dụng cho chuỗi "Hello, World!".

2.

Dưới đây là cách thực hiện đảo ngược các từ trong một chuỗi và giữ nguyên thứ tự của các từ:

public class ReverseWordsExample { public static void main(String[] args) { String str = "Hello World Java"; String reversedStr = reverseWords(str); System.out.println("Chuỗi ban đầu: " + str); System.out.println("Chuỗi sau khi đảo ngược từng từ: " + reversedStr); } public static String reverseWords(String str) { String[] words = str.split("\\s+"); StringBuilder reversedStr = new StringBuilder(); for (int i = words.length - 1; i >= 0; i--) { reversedStr.append(words[i]); if (i > 0) { reversedStr.append(" "); } } return reversedStr.toString(); } }

Trong mã này:

  • Sử dụng phương thức split("\\s+") để tách chuỗi thành các từ, giữa các từ là dấu cách.
  • Sử dụng một StringBuilder để xây dựng chuỗi đảo ngược.
  • Duyệt qua các từ từ cuối cùng đến đầu tiên và nối chúng vào StringBuilder, đảm bảo thêm dấu cách sau mỗi từ trừ từ cuối cùng.

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

Đăng nhận xét