BÀI TẬP MÔN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG (OJBECT ORIENTED PROGRAMMING EXERCISES) HỆ: ĐẠI HỌC Bài tập Lập trình hướng đối tượng - Trang 1 MỤC LỤC Module 0. LÀM QUEN VỚI ECLIPSE IDE. CÁC KHÁI NIỆM CƠ BẢN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG. KẾ THỪA – ĐA HÌNH.
45 Bài tập Lập trình hướng đối tượng - Trang 2 Module 0. Làm quen với Eclipse IDE Module 0. LÀM QUEN VỚI ECLIPSE IDE Mục tiêu: Làm quen với công cụ lập trình Java (Eclipse). Tạo workspace (nơi lưu project), tạo project, tạo package.
Thay đổi workspace. Yêu cầu: Máy tính phải được cài đặt sẵn JDK (Java Development Kit). Máy tính phải có sẵn phần mềm hỗ trợ soạn thảo mã nguồn Java: Eclipse. Khởi động Eclipse Khi khởi động Eclipse, ở lần đầu tiên, Eclipse sẽ xuất hiện cửa sổ Workspace Launcher hỏi nơi lưu trữ các project.
Ở những lần mở sau, Eclipse sẽ nhớ workspace này và sẽ tự mở. Có thể thay đổi workspace này. Thay đổi workspace Vào File Switch Workspace chọn workspace cần mở. Tạo project mới: Menu File->New->Java Project.
Nếu không có thì chọn File->New->Project… Bài tập Lập trình hướng đối tượng - Trang 3 Module 0. Làm quen với Eclipse IDE Nhấn Finish. Kết quả trong Package Explorer. Mở Project Eclipse không hỗ trợ mở project trực tiếp nên bạn không có kiểu “double-click-for-open” thường thấy, có thể mở lại project đã có bằng 1 trong các cách sau: a.
Mở từ workspace: Khởi động Eclipse chọn workspace cần mở. Hoặc File->Switch workspace. Mở từ project: Vào menu File->Import rồi chọn như hình. Bài tập Lập trình hướng đối tượng - Trang 4 Module 0.
Làm quen với Eclipse IDE Nhấn nút Browse để tìm đến thư mục chứa project. Chọn project cần import rồi nhấn Finish. Tạo package Lưu ý, NÊN tạo các package để lưu trữ các lớp java. Package cho phép lưu trữ các class của ứng dụng theo nhóm (các lớp quan hệ gần thì lưu trong cùng package).
Mỗi ứng dụng có thể có một hoặc nhiều package. Mỗi package chứa một hoặc nhiều class. Đặt tên theo kiểu: a.c trong đó các ký tự là tên bất kỳ.bai01, điều đó có nghĩa là Eclipse sẽ tạo cho bạn 3 thư mục lồng vào nhau: chuong01\tuan01\bai01. Lưu ý: chữ cái đầu tiên của tên package luôn viết thường.
Bài tập Lập trình hướng đối tượng - Trang 5 Module 0. Làm quen với Eclipse IDE Tạo lớp mới bằng cách nhấn phải chuột lên package cần thêm lớp vào, chọn New Class Chú ý: Tên lớp luôn bắt đầu bằng 1 ký tự hoa. Đặt theo kiểu TitleCase Bắt đầu viết code. Eclipse hỗ trợ cơ chế code completion rất tốt.
Các bạn luôn nhờ phím Ctrl-SpaceBar để Eclipse hiện lên các suggestion. Thực thi chương trình Nhấn chuột phải lên lớp cần chạy, chọn menu Run As-> Java Application. Bài tập Lập trình hướng đối tượng - Trang 6 Module 0. Làm quen với Eclipse IDE Hoặc nhấn F11 để chạy tập tin hiện tại, còn Ctrl+F11 biên dịch và chạy toàn bộ project.
Eclipse sẽ tự động biên dịch code và báo lỗi. Nếu bạn có lỗi hay warning thì bên trái của dòng lỗi. Ví dụ như sau: Bài 7. Chọn loại giao diện làm việc 1.
Khởi động Eclipse IDE 2. Chọn Windows\Open Perspective\Other Chọn Perspective Java(Default) Bài tập Lập trình hướng đối tượng - Trang 7 Module 0. Làm quen với Eclipse IDE Đóng Welcome screen. Kết quả Bài 8.
Đổi tên (project, package, class…) Nhấn chọn tên cần đổi ở cửa sổ Package Explorer F2 gõ tên mới là xong. Vấn đề gõ tiếng Việt (Unicode) Java sử dụng bảng mã unicode nên việc gõ tiếng việt là OK. Để gõ được tiếng việt, đảm bảo là project của bạn phải được lưu với bảng mã UTF-8. Cách làm như sau: Nhấn chuột phải lên Project, chọn Properties.
Chọn mục resources như hình Điều này cho phép project bạn chọn có sử dụng Unicode. Để cho tất cả từ project lúc thiết lập về sau sử dụng Unicode (khỏi mắc công mỗi Project mỗi thiết lập), ta làm như sau: Vào menu Window->References, chọn mục General-> Workspace như hình. Bài tập Lập trình hướng đối tượng - Trang 8 Module 0. Làm quen với Eclipse IDE Nhấn Apply.
Từ đây, bất cứ project nào tạo ra đều hỗ trợ Unicode. Export file jar tự chạy (executable jar file) Nhấn chuột phải lên Project cần export, chọn Export. Chọn Runnable JAR file như hình. Chọn Lauch configuration.
Chọn thư mục chứa cũng như tên file jar. Thực thi jar file dưới dạng command-line: Bài tập Lập trình hướng đối tượng - Trang 9 Module 0. Làm quen với Eclipse IDE Nếu Project của ở cơ chế GUI thì có thể mở file jar của bằng Java Plaform SE library như hình. Thêm thư viện cho Project 1.
Thêm thư viện jar Để thêm thư viện Jar mình thường làm theo 2 bước sau Tạo thự mục chứa File jar ( thường để tên là lib ) -> copy file jar và thư viện đó. Thực hiện add jar file bằng cách : chọn chuột phải file jar -> Build Path -> Add to Build Path là xong ( như hình bên dưới ) Bỏ thư viện jar Vào phần Referenced Libraries -> chọn chuột phải vào File jar -> Build Path -> Remove from Build Path là xong. Thêm thư viện ngoài , refer source code. Bài tập Lập trình hướng đối tượng - Trang 10 Module 0.
Làm quen với Eclipse IDE Chọn Build Path -> Configure Build Path Source : Phần này bạn có thể add một folder source hoặc là link đến thư mục source nào đó. Project : Tương tự như source nhưng đây là refer sang một project cùng workspace. Phím tắt hay dùng 1. Một số editing template hay dùng: Gõ main sau đó nhấn Ctrl-Spacebar sẽ cho public static void main(String[] args) {} Gõ sysout sau đó nhấn Ctrl-Spacebar sẽ cho System.println(); Để tìm hiểu thêm, vào menu Window->Reference Bài tập Lập trình hướng đối tượng - Trang 11 Module 0.
Làm quen với Eclipse IDE 2. Các phím tắt hay dùng: Sử dụng phím tắt trong Eclipse sẽ giúp bạn thao tác nhanh hơn thay vì phải click chuột nhiều lần và trông chuyên nghiệp hơn. Trong Eclipse, vào menu Help->Key Assitst hoặc nhấn tổ hợp Ctrl-Shift-L để hiển thị. Bài tập Lập trình hướng đối tượng - Trang 12 Module 1.
Java căn bản Module 1. JAVA CĂN BẢN Mục tiêu: Hiểu được cấu trúc chương trình Java, cách biên dịch và chạy chương trình. Hiểu và áp dụng được nhập-xuất dữ liệu, các toán tử. Hiểu và áp dụng được các cấu trúc điều khiển, cấu trúc lặp.
Viết và gọi phương thức trong Java. Yêu cầu: Bài làm lưu trong workspace có tên MaSV_HoTen. Tạo project tên Module01. Lần lượt tạo các package phan01, phan02, phan03 ứng với 3 phần của Module 1.
Mỗi bài tập là một class với tên tương ứng với bài đó, ví dụ Bai01, Bai02,… Nhắc lại: Cấu trúc của một chương trình viết bằng ngôn ngữ lập trình Java. package packageName; //Khai báo tên gói (dòng đầu tiên trong file) import java.Scanner; //Khai báo thư viện public class ClassName //Khai báo tên lớp (phải trùng với tên file) { /* các ghi chú liên quan */ int var; //Các khai báo biến/thuộc tính của lớp public void methodName() //Viết các phương thức { /* phần thân của phương thức */ //Các lệnh thực hiện cho mục tiêu phương thức } public static void main(String[] args) //Hàm chính để chạy chương trình { /* nội dung hàm chính */ } } Bài tập Lập trình hướng đối tượng - Trang 13 Module 1. Java căn bản PHẦN 1: NHẬP XUẤT Mục tiêu: Làm quen với việc nhập-xuất trong Java Bài bắt buộc: 1,2 Viết chương trình xuất ra màn hình dòng chữ “Hello World!” Hướng dẫn sử dụng lệnh xuất: Sytstem.printf(): xuất ra màn hình một chuỗi theo định dạng tương tự như ngôn ngữ lập trình C++. - Độ chính xác của số thực: %5.3f: độ chính xác phần lẻ của số trong format-string là 3 - Dấu – dùng để canh trái, mặc định canh phải.
- Một số ký tự đặc biệt: \a, \b, \f, \n, \r, \t, \v, \\ Bài tập Lập trình hướng đối tượng - Trang 14 Module 1. Java căn bản Viết chương trình nhập vào tên của mình và xuất ra màn hình “Hello + Tên”. HD: Để nhập dữ liệu từ bàn phím, dùng lớp Scanner: import java.Scanner; Khai báo đối tượng: Scanner sc = new Scanner(System.in); Dữ liệu nhập vào là số nguyên: int a = sc.nextInt(); Dữ liệu nhập vào là số thực: double b = sc.nextDouble(); Dữ liệu nhập vào là chuỗi: String b = sc.nextLine(); PHẦN 2: CÁC TOÁN TỬ Mục tiêu: Làm quen với việc sử dụng toán tử Toán tử số học Toán tử quan hệ Toán tử logic Toán tử điều kiện Thao tác với toán tử số học Thao tác với toán tử nối chuỗi Bài tập Lập trình hướng đối tượng - Trang 15 Module 1. Java căn bản Thao tác với toán tử 1 ngôi Thao tác với toán tử pre-increment và post-increment Kết quả và giải thích? Thao tác với các toán tử quan hệ, toán tử so sánh trong ngôn ngữ lập trình Java.
Bài tập Lập trình hướng đối tượng - Trang 16 Module 1. Java căn bản Kết quả và giải thích? Thao tác với toán tử điều kiện PHẦN 3: CẤU TRÚC LẶP VÀ ĐIỀU KHIỂN Mục tiêu: Làm quen với việc sử dụng các cấu trúc điều khiển Cấu trúc if, if. else Cấu trúc switch Cấu trúc lặp: for, while, do.while Bài bắt buộc: 316 (yêu cầu viết phương thức để xử lý) Cấu trúc if-else, switch case Bài tập Lập trình hướng đối tượng - Trang 17 Module 1. Java căn bản Cấu trúc while, do while và for Phát sinh số ngẫu nhiên dùng lớp Random.
Lớp Random nằm trong gói java.util, một số phương thức: Method Produces boolean A true or false value nextBoolean(); int nextInt() An integral value between Integer.MIN_VALUE andInteger.MAX_VALUE long nextLong() A long integral value between Long.MIN_VALUEand Long.MAX_VALUE Bài tập Lập trình hướng đối tượng - Trang 18 Module 1. Java căn bản float nextFloat() A decimal number between 0.0 (excluded) double nextDouble() A decimal number between 0.Random; public class RandomExercise { public static void main(String[] args) { Random rd = new Random(); int n = rd. int min = 65, max = 80; Random r = new Random(); int i1 = r.nextInt(max - min + 1) + min; Lưu ý: Nếu r.nextInt(max)sẽ trả về giá trị giữa 0 và max. Viết chương trình in ra tổng 1+3+5+…+n nếu n là số lẻ, 2+4+6+…+n nếu n là số chẵn.
Viết chương trình giải phương trình bậc 1. Viết chương trình tìm USCLN của 2 số nhập vào. Viết chương trình kiểm tra số nhập vào có phải là số nguyên tố hay không. Tính tổng các số nguyên tố nhỏ hơn N.
Viết chương trình in ra số lần kí tự ‘a’ xuất hiện trong một chuỗi. Viết hàm tách chuỗi gốc thành chuỗi con. VD: chuỗi gốc S = “ Lap Trinh HDT”, chuỗi sau khi tách là “Lap Trinh HDT” HD: Dùng hàm Split của lớp String. Viết chương trình để đếm số lượng ký tự là số có trong chuỗi s.