Kiến thức

Bài tập Java-Đếm số từ trong một chuỗi-VietTuts

<!–

Add content header

–>

Bài tập Java – Đếm số từ trong một chuỗi

<!–

–>


Danh sách bài tập java

Tính giai thừa trong java


Nội dung chính

  • Bài tập Java – Đếm số từ trong một chuỗi

  • Lời giải

Bạn đang xem: Bài tập Java-Đếm số từ trong một chuỗi-VietTuts

Bài tập Java – Đếm số từ trong một chuỗi

Đề bài: Viết chương trình đếm số từ trong một chuỗi trong Java. Mỗi từ cách nhau bởi một khoảng trắng (tab, space, …) Ví dụ ” hoc java co ban den nang cao ” có 7 từ.


Lời giải

Thuật toán:

  1. Nếu chuỗi đã cho input = null thì trả về -1. Kết thúc tại đây.
  2. Ngược lại, duyệt từ phần tử đầu tiên đến phần tử cuối cùng của chuỗi.
  3. Nếu ký tự hiện tại là ký tự chữ (ký tự khác space và tab và xuống dòng) thì ta tìm được một từ. Và đánh dấu từ đó đã được đếm (notCounted = false;). Đến khi gặp ký tự space hoặc tab hoặc xuống dòng thì đánh dấu từ đó đã đếm xong (notCounted = true;) để đếm từ tiếp theo.

Các bạn xin hãy lưu ý: một bài toán có hàng trăm nghìn cách giải, ngoài cách này ra các bạn có thể tự nghĩ cho mình những cách giải khác hoặc tìm trên google!

File: StringExample1.java

 package vn.viettuts.baitap; /** * Chương trình đếm số từ của một chuỗi trong java * * @author viettuts.vn */ public class StringExample1 { public static final char SPACE = ' '; public static final char TAB = 't'; public static final char BREAK_LINE = 'n'; /** * main * * @param args */ public static void main(String[] args) { String str = "hoc java co ban den nang cao" + " n test"; System.out.print("Số từ của chuỗi đã cho là: " + countWords(str)); } /** * Đếm số từ của một chuỗi, * giả sử các từ được ngăn cách nhau bởi một hoặc nhiều * dấu 'space', tab 't' và xuống dòng 'n' * * @param input - chuỗi ký tự * @return số từ của chuỗi ký tự input */ public static int countWords(String input) { if (input == null) { return -1; } int count = 0; int size = input.length(); boolean notCounted = true; for (int i = 0; i < size; i++) { if (input.charAt(i) != SPACE && input.charAt(i) != TAB && input.charAt(i) != BREAK_LINE) { if(notCounted) { count++; notCounted = false; } } else { notCounted = true; } } return count; } } 

Kết quả:

 Số từ của chuỗi đã cho là: 8 


Danh sách bài tập java

Tính giai thừa trong java


<!–

AD content footer matched content

–>

<!–

AD content footer auto size

–>

<!–

–>

Chuyên mục: Kiến thức

Related Articles

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Check Also
Close
Back to top button