Phát biểu bài toán đăng ký học phần Chuyên đề java Chuyên đề Java BÀI TẬP TUẦN 3 Mảng và File Bài tập cá nhân Bài tập nhóm Bài tập tự luyện Bài tập cần nộp 1 Qui định về việc nộp bài 1 1 Thời[.]
Chuyên đề java Chuyên đề Java BÀI TẬP TUẦN 3: Mảng File Bài tập cá nhân Bài tập nhóm Bài tập tự luyện Bài tập cần nộp Qui định việc nộp bài: 1.1 Thời hạn nộp bài: Vào thực hành ngày 14/04/2010 1.2 Cách nộp: nộp trực tiếp 1.3 Bài làm nén lại thành tập tin ( zip rar ) 1.4 Nếu làm theo nhóm đặt tên: MSSV1-MSSV2-MSSV3-MSSV4.zip (hoặc rar) Lưu ý MSSV theo thứ tự tăng dần 1.5 Nếu làm MSSV.zip ( rar ) Yêu cầu tập: 2.1 Viết chương trình cho phép - nhập vào dãy phân số có độ dài n cho trước - Tính tổng tích theo thứ tự index phân số tương ứng dãy xuất hình kết xếp tăng dần UIT - HCM Sử dụng cách: Mảng Tĩnh(fixed Array) Mảng động(ArrayList) Trang Chuyên đề java 2.2 Viết chương trình cho phép: - đọc từ file input.txt dãy phân số - Thực tính tổng tích theo thứ tự index phân số tương ứng dãy Sắp xếp dãy phân số theo thứ tự tăng dần ghi xuống tập tin output.txt 2.3 định dạng tập tin: 2.3.1 Tập tin input.txt: 2.3.2 Tập tin output.txt 2.4 Option: bạn làm tiếp thay tập tin văn tập tin nhị phân Hướng dẫn: 3.1 Một số ý kỹ thuật lập trình: a So sánh số có dấu chấm động: UIT - HCM Trang Chuyên đề java - để tránh lỗi làm trịn, khơng sử dụng == để so sánh số có dấu chấm động - để so sánh số có dấu chấm động phải xem xét khoảng cách chúng phải nhỏ mức ε - ε thường nhỏ 10-14 b So sánh chuỗi: - Không sử dụng == so sánh chuỗi if (input == “Y”) o // Sai Sử dụng hàm equals để so sánh bằng: if ( input.equals(“Y”)) o Tốn tử == sử dụng cho định danh, cịn hàm equals sử dụng so sánh nội dung - So sánh có phân biệt hoa thường: o Sử dụng: input.equalsIgnoreCase(“Y”) c Vịng lặp while: - Tránh vịng lặp vơ tận: int i = 10; UIT - HCM Trang Chuyên đề java while(i > 0) { //do something } vòng lặp chạy không dừng d Cho số random: Random generator = new Random(); int n = generator.nextInt(a); double d = generator.nextDouble(); 3.2 Mảng: Array Array List 3.2.1 Array a Khởi tạo mảng: double[] a = new double[10]; - lấy chiều dài mảng: array.length - ý: o double[] a = new double[10]; o a[10] = - //Lỗi Array : có chiều dài cố định UIT - HCM Trang Chuyên đề java 3.2.2 ArrayList: - dùng để chứa lớp đối tượng - ArrayList có kích thước động - Là generic class: ArrayList - Khởi tạo: o ArrayList dsPhanSo = new ArrayList(); o dsPhanSo.add (new PhanSo(1,2)); - hàm size lấy kích thước ArrayList - Sử dụng hàm get để truy xuất đến phần tử ArrayList o dsPhanSo.size(); o dsPhanSo.get(0); - //truy xuất đến phần tử Set lại giá trị vị trí cho trước: o PhanSo b = new PhanSo(3,4); o dsPhanSo.set(0, b); - Chèn phần tử vào vị trí cho trước: o dsPhanSo.add (i, a); - Remove phần tử ArrayList: o dsPhanSo.remove(i); UIT - HCM Trang Chuyên đề java - Sử dụng wrapper class: o Java không cho phép insert giá trị cụ thể kiểu liệu truyền thống o để giải trường hợp ta phải sử dụng wrapper class: ArrayList data = new ArrayList(); data.add (2.9); UIT - HCM Trang Chuyên đề java 3.2.3 Sử dụng vòng lặp duyệt mảng: 3.3 File input output: a đọc từ file: Scanner in = new Scanner(new File(“myfile.txt”)); - để đường dẫn tuyệt đối sử dụng \\: ví dụ: C:\\data\\myfile.txt b Ghi file: PrintWriter out = new PrintWriter(“myfile.txt”); UIT - HCM Trang Chuyên đề java c đọc file text sử dụng lớp InputStreamReader: InputStreamReader isr = new InputStreamReader(new FileInputStream("data.txt") ); BufferedReader br = new BufferedReader(isr); String str = br.readLine(); UIT - HCM Trang Chuyên đề java UIT - HCM Trang ... xuất đến phần tử ArrayList o dsPhanSo.size(); o dsPhanSo.get(0); - //truy xuất đến phần tử Set lại giá trị vị trí cho trước: o PhanSo b = new PhanSo(3,4); o dsPhanSo.set(0, b); - Chèn phần tử... chuỗi if (input == “Y”) o // Sai Sử dụng hàm equals để so sánh bằng: if ( input.equals(“Y”)) o Toán tử == sử dụng cho định danh, hàm equals sử dụng so sánh nội dung - So sánh có phân biệt hoa... PhanSo(3,4); o dsPhanSo.set(0, b); - Chèn phần tử vào vị trí cho trước: o dsPhanSo.add (i, a); - Remove phần tử ArrayList: o dsPhanSo.remove(i); UIT - HCM Trang Chuyên đề java - Sử dụng wrapper class: