# JavaCore: Bài tập số 2 ## Bài tập 1, 2, 3: Phân tích OOP ### Đề bài *Một ngân hàng có mong muốn thực hiện một ứng dụng giao dịch trên điện thoại Online Banking (tương tự như ví điện tử Momo). Với vai trò là một lập trình viên, ngân hàng mong muốn bạn phân tích các yêu cầu sau:* #### Yêu Cầu 1: Tài khoản thanh toán tài khoản thanh toán sẽ được tạo ra bởi một “cá nhân”, được xác thực thông qua số điện thoại di động và thông tin căn cước công dân. Tài khoản thanh toán có thể liên kết với duy nhất một thẻ ngân hàng bất kỳ và duy nhất một tài khoản giao dịch tại một ngân hàng bất kỳ. Tài khoản thanh toán này sẽ được dùng để giao dịch với các tài khoản thanh toán khác trong cùng một hệ thống, nạp/rút tiền về thẻ ngân hàng / tài khoản ngân hàng ngoại vi đã liên kết. Một tài khoản sẽ có một danh sách lịch sử giao dịch với các tài khỏan khác #### Yêu Cầu 2: Lệnh chuyển tiền Khi một khách hàng sử dụng tài khoản thanh toán để thực hiện chuyển tiền trong cùng hệ thống, ứng dụng sẽ tạo một lệnh chuyển tiền đến tài khoản thụ hưởng. Lệnh chuyển tiền này cũng có thể áp dụng cho việc nạp / rút với thẻ ngân hàng / tài khoản ngân hàng ngoại vi mà khách hàng đã liên kết. #### Yêu cầu 3: Thẻ ATM Khi người dùng có mong muốn được phát hành thẻ ATM dùng chuyên biệt cho việt rút tiền, ngân hàng sẽ thực hiện phát hành thẻ cho khách hàng. Thẻ này sau khi liên kết với tài khoản thanh toán của khách hàng trong hệ thống sẽ chỉ có chức năng rút tiền. Ngoài ra, khách hàng có thể thực hiện tác vụ khoá thẻ trong trường hợp khách hàng làm mất thẻ để đề phòng rủi ro có thể xảy ra. :::warning ***Hãy phân tích OOP những yêu cầu trên, với mỗi yêu cầu có thể tạo 1 hoặc nhiều class Java khác nhau. Các class này có thể theo mô hình kế thừa nếu cần.*** - Yêu cầu về trình bày class: - Tên các member (gồm attribute và method) phải được đặt tên bằng tiếng Anh - Với mỗi member, cần xác định rõ access modifier. ::: ## Bài tập 4, 5, 6: Giải quyết bài toán ### Bài tập 4 Yêu cầu người dùng nhập 2 số nguyên từ bàn phím (a và b) là hai tham số của một phương trình bậc nhất ax + b = 0, tìm x. ### Bài tập 5 Yêu cầu người dùng nhập 1 số nguyên không âm (có 0). ### Bài tập 6 Yêu cầu người dùng nhập vào một con số nguyên không âm, hãy liệt kê các con số nguyên tố từ 1 .. n. ## Lưu ý chung *Với các bài tập dạng “Giải quyết bài toán”, học viên cần cung cấp 2 loại bài nộp thoả mãn các yêu cầu sau:* - **Source code bài làm**: - Nội dung trình bày phải đúng format và tuân theo nguyên tắc được đặt ra trong file “Quy chuẩn kĩ thuật” - Đặt tên sử dụng tiếng Anh - **Phân tích giải quyết bài toán**: - Phân tích phải xác định được 3 thành phần chính: - **INPUT**: tham số đầu vào của chương trình - **OUTPUT**: kết quả kì vọng nhận về được sau khi thực hiện chương trình - **STEPS**: quá trình giải quyết bài toán (càng nhỏ, càng cụ thể càng tốt)