Bài tập xử lý chuỗi trong java

  -  

String vào java là một trong chuỗi các ký tự vào java. Trong các bước lập trình hằng ngày họ chắc hẳn sẽ phải đương đầu với tương đối nhiều trong vấn đề xử lý chuỗi. Để chuẩn bị trước các trường hợp khó khăn thì mình tất cả sưu tầm một trong những bài tập về String hay + nặng nề để chúng ta luyện tập trước.

Bạn đang xem: Bài tập xử lý chuỗi trong java

Không hồ hết luyện tư duy cách xử trí chuỗi mà các bài tập này giúp họ nhớ lại tổng thể kiến thức về chuỗi trong java. 

B1. Character duplicate

Tìm và in ra những ký tự lộ diện nhiều hơn một lần vào String đến trước không sáng tỏ chữ hoa tuyệt chữ thường. Nếu các ký tự trong chuỗi đa số là độc nhất thì xuất ra “NO”. Ví dụ chuỗi “Java” thì có ký trường đoản cú ‘a’ hoặc String “JaVA” cũng có công dụng tương tự.

Gợi ý: áp dụng HashMap, 

Source code tham khảo

B2. String Anagram

Kiểm tra 2 chuỗi tất cả là đảo ngược của nhau tuyệt không. Nếu bao gồm xuất ra “OK” trái lại “KO”. Lấy một ví dụ “word” cùng “drow” là 2 chuỗi đảo ngược nhau.

Source code tham khảo

B3. Character unique

Tìm cam kết tự chỉ xuất hiện thêm một lần trong chuỗi, nếu có không ít hơn một thì xuất ra màn hình ký từ đầu tiên. Nếu không có ký từ bỏ nào unique xuất ra “NO”.

Gợi ý:

Sử dụng LinkedHashMap. HashMap kết phù hợp với duyệt lại chuỗi để tìm ra cam kết tự đầu tiên xuất hiện một lần.

Source code tham khảo

B4. Reverse String

Đảo ngược chuỗi áp dụng vòng lặp cùng đệ quy. 

Gợi ý: áp dụng StringBuilder hoặc StringBuffer để dễ dàng thao tác hơn, tránh thực hiện String ví nó có tính chất immutable việc thao tác trên chúng sẽ khiến nó tạo thêm một String mới gây hao tổn bộ nhớ. 

Source code tham khảo

Bài 5. String not contains digit

Kiểm tra một chuỗi gồm chứa chữ số giỏi không, nếu bao gồm in ra false trái lại true.

Ví dụ

“abc”, “” => true

“1abc”, “abc1”, “123”, “a1bc”, null => false

Gợi ý: thực hiện java regex nếu bạn quen cùng với việc áp dụng chúng. Đây cũng là biện pháp ngắn gọn nhất. Hoặc chúng ta cũng có thể loop và chất vấn từng ký tự vào chuỗi.

Source code tham khảo

B6. Count number of vowels & consonants

Đếm số lượng ký trường đoản cú nguyên âm với phụ âm xuất hiện thêm trong chuỗi. Lấy ví dụ chuỗi “java” gồm 2 nguyên âm “a” với 2 phụ âm “j” với “v”.

Gợi ý: dùng switch case nhằm đếm con số ký tự nguyên âm. Số phụ âm đang là độ lâu năm của chuỗi trừ cho con số phụ âm.

Source code tham khảo

B7. Convert string number to int value

Chuyển chuỗi số nguyên thanh lịch int value. Lấy ví dụ như “5646” thành int = 5646.

Gợi ý: dùng Integer wrapper class nhằm convert string thanh lịch int cấp tốc chóng.

Source code tham khảo

B8. Replace character

Cho một chuỗi str, chuyển những ký tự được chỉ định và hướng dẫn sang một ký kết tự khác mang lại trước. Ví dụ như “tuvientuongvan.com.vn” gửi ‘e’ sang trọng ‘*’ kết qủa “shar*programming.n*t”.

Gợi ý: Các chúng ta có thể dùng String#replace() hoặc StringBuilder để loop với thao tác.

Source code tham khảo

B9. Revert string by word

Đảo ngược những ký tự của chuỗi cách nhau vì chưng dấu biện pháp mà không dùng thư viện. Lấy ví dụ như “I am developer ” => “developer am I”. Những ký tự bên phía trong chỉ giải pháp nhau đúng một dấu khoảng tầm cách.

Xem thêm: Trọn Bộ Quy Tắc Nuốt Âm Trong Tiếng Anh Bạn Cần Phải Biết, Quy Tắc Nối Âm Và Nuốt Âm Trong Tiếng Anh

Gợi ý: chúng ta cần vứt bỏ dấu phương pháp ở đầu với cuối câu, thao tác cắt chuỗi theo dấu cách và cần sử dụng StringBuilder hoặc StringBuffer để nối chuỗi.

Source code tham khảo

B10. Kiểm tra string palindrome

Chuỗi palindrome là chuỗi sau thời điểm đảo ngược và chuỗi thuở đầu hoàn toàn giống như nhau, lấy ví dụ “aba” là 1 trong những chuỗi “aba”

Gợi ý: Đảo ngược chuỗi và đối chiếu với chuỗi ban đầu hoặc loop và so sánh từng cặp chữ một.

Source code tham khảo

B11. Remove character duplicate

Cho một chuỗi str, xoá những ký tự xuất hiện thêm nhiều rộng một lần trong chuỗi và chỉ giữ lại cam kết tự đầu tiên, vi dụ bananas => bans

Gợi ý: áp dụng HashSet hoặc ArrayList lưu các ký từ bỏ đã xuất hiện trong cơ hội duyệt. Nếu cam kết tự được duyệt chưa tồn tại tỏng HashSet hoặc ArrayList thì cộng ký tự đó vào chuỗi hiệu quả và thêm ký kết tự kia vào HashSet hoặc ArrayList. Lưu ý sử dụng StringBuilder hoặc StringBuffer để thao tác làm việc cộng chuỗi.

Source code tham khảo

B12. Find longest palindrome substring

Tìm substring palindrome dài nhất trong một chuỗi cho trước. Hiểu được chuỗi palindrome là chuỗi sau thời điểm đảo ngược và chuỗi thuở đầu giống nhau.

Source code tham khảo

B13. Find interleavings string

Tìm xem có bao nhiêu chuỗi xen kẽ từ 2 chuỗi mang lại trước. đưa sử rằng những ký tự vào 2 chuỗi là khác nhau.

Ví dụ mang lại hai chuỗi “WX” và “YZ” thì những chuỗi có thể tạo yêu cầu là: YWZX, WYZX, YWXZ, WXYZ, YZWX, WYXZ.

Gợi ý: sử dụng đệ quy bóc tách từng ký kết tự vào từng chuỗi ra với thử vào chuỗi kết quả. 

*
*

Source code tham khảo

B14. Longest substring without repeating

Viết công tác tìm độ dài chuỗi con lớn nhất mà các ký tự ko trùng lặp.

Ví dụ: “pickoutthelongestsubstring” => “ubstring”. 

Gợi ý: sử dụng LinkedHashMap(key là cam kết tự tại địa điểm index là value) để mắt tới qua từng ký tự trong chuỗi cùng kiểm tra.

Source code tham khảo

B15. Find second most frequent character in a given string

Viết chương trình tìm ký tự xuất hiện nhiều thứ 2 trong chuỗi. Nếu các ký trường đoản cú thoả thì in bất kỳ ký từ bỏ nào. Không rành mạch chữ hoa với chữ thường.

Ví dụ: “Successes” => “c”

Gợi ý: Khai báo mảng int <256> tương ứng với con số ký tự rất có thể có. Chăm chú chuỗi với mỗi lần xuất hiện thêm thì tăng thêm 1 trên >. Sau thời điểm đã có số lần lộ diện thì chỉ việc so sánh và mang lý tự lộ diện nhiều sản phẩm công nghệ nhì bằng nhiều phương pháp như sắp xếp, chăm chú etc

Source code tham khảo

B16. Print all permutations of a string

Viết lịch trình in toàn bộ các chuỗi có thể có từ những ký tự của một chuỗi cho trước.

Ví dụ: “PQR” => PPP PPQ PPR PQP PQQ PQR PRP PRQ PRR QPP QPQ QPR QQP QQQ QQR QRP QRQ QRR RPP RPQ RPR RQP RQQ RQR RRP RRQ RRR. 

Gợi ý thực hiện đệ quy theo luật lệ sau

/** * PQR phường * I = 0 => * PQR PP I=0 PQR PPP * PQR PP I=1 PQR PPQ * PQR PP I=2 PQR PPR * I = 1 => * PQR PQ I=0 PQR PQP * PQR PQ I=1 PQR PQQ * PQR PQ I=2 PQR PQR */Source code tham khảo

B17. Divide a string

Cho một chuỗi str với số nguyên n >= 0. Phân tách chuỗi str ra làm những phần bằng nhau với n ký tự. Ví như chuỗi không phân tách được thì xuất ra screen “KO”.

Ví dụ:

abcdefghijklmnopqrstuvwxy, n = 5 =>abcde fghij klmno pqrst uvwxy

Source code tham khảo

B18. Remove all adjacent duplicates 

Xoá toàn bộ các cam kết tự tiếp giáp và kiểu như nhau. Ví dụ như aabaarbarccrabmq thì công dụng là brmq.

Xem thêm: Soạn Văn Bài Tổng Kết Từ Vựng Tiếp Theo ) Ngắn Nhất, Soạn Bài: Tổng Kết Về Từ Vựng

Source code tham khảo

B19. Append string together

Cho 2 string, gắn chúng lại cùng với nhau, nếu như 2 chuỗi có độ dài không đều bằng nhau thì thực hiện cắt bỏ các ký từ bỏ đầu của string lâu năm hơn cho tới khi chúng bằng nhau thì tiến hành gắn lại. Lấy một ví dụ Welcome và trang chủ => comehome.