Thắc mắc cách phân tích String trong JAVA OOP

Nhập 1 dãy 12sdfds3fsf987%$^@#TETDuo
làm sao chương trình phân tích và in ra như thế này được:
số chẵn: 12
số lẻ: 3 , 987
Tất cả số: 12,3,987
chữ thường: sdfds , fsf, uo
chữ hoa: TETD
kí hiệu đặc biệt: %$^@#

  1. Biểu thức chính quy (Regex).
  2. Đọc lần lượt từng kí tự và tách.
3 Likes

thế làm sao để cho nó nhận 2 chữ số trở lên á

  1. Biểu thức chính quy thực hiện việc này dễ dàng và nhanh chóng. Nếu bạn chưa biết thì nên tìm hiểu nó.

  2. Tách duyệt từng kí tự. Dùng biến tạm (String) lưu các giá trị và một dạng damh sách (hoặc mảng chuỗi) lưu các kê quả. Nếu kí tự sau cùng kiểu (số, HOA, thường, đặc biệt) với kí tự trước đó thì cộng dồn chuỗi tạm cho đến khi gặp kí tự khác kiểu thì đẩy vào danh sách/mảng.

Hừ. :expressionless:

4 Likes

ArrayList<String> số, ArrayList<String> chữ thường, ArrayList<String> chữ hoa, ArrayList<char> ký hiệu đặc biệt.

Cái này chẳng liên quan gì đến OOP.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?