1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đề thi Lập Trình Hướng Đối Tượng

3 18 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 3
Dung lượng 192,9 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

BÀI THỰC HÀNH LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG BÀI THỰC HÀNH SỐ 7 I. Nội dung kiến thức thực hành: Xử lý ngoại lệ với trycatch, Tạo lớp ngoại lệ riêng, Lưu trữ đối tượng vào tập tin: Hiểu và áp dụng được đóng mở tập tin, thư mục … Hiểu và áp dụng được các thao tác với tập tin, thư mục

Trang 1

BÀI THỰC HÀNH LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

BÀI THỰC HÀNH SỐ 7

I Nội dung kiến thức thực hành:

- Xử lý ngoại lệ với try-catch,

- Tạo lớp ngoại lệ riêng,

- Lưu trữ đối tượng vào tập tin:

- Hiểu và áp dụng được đóng mở tập tin, thư mục …

- Hiểu và áp dụng được các thao tác với tập tin, thư mục

II Bài tập

Bài 1: Viết chương trình cho nhập vào 2 số nguyên, xuất kết quả phép chia 2 số này Yêu cầu kiểm tra việc

nhập số (không được nhập chữ), phép chia cho 0

Mục đích: Kiểm tra dữ liệu nhập của người dùng bằng cách sử dụng try-catch

Bài 2: Làm lại bài 1 với yêu cầu kiểm tra việc nhập 2 số phải là số dương, viết lớp xử lý riêng

Bài 3:

- Viết lớp xử lý ngoại lệ StringTooLongException, lớp này giúp thông báo 1 chuỗi nào đó có quá

nhiều ký tự

- Viết hàm main, cho người dùng nhập vào từng chuỗi cho đến khi người dùng nhập “DONE” Khi một chuỗi được nhập vào, cần kiểm tra xem chuỗi đó có vượt quá 20 ký tự không, nếu vượt thì chương trình thông

báo cho người dùng biết và kết thúc chương trình Yêu cầu sử dụng lớp StringTooLongException để xử lý lỗi

này

Bài 4: Làm lại bài 3 với yêu cầu nếu người dùng nhập vào một chuỗi vượt quá 20 ký tự thì chương trình thông

báo lỗi và vẫn tiếp tục thực hiện

Bài 5: Hãy tạo một class tên là OutOfRangeException để kiểm tra việc nhập dữ liệu của người sử dụng Sinh

viên hãy tạo thêm một class để sử dụng OutOfRangException Ví dụ như yêu cầu nhập vào 1 số n có giá trị từ

-113 tới -113 từ bàn phím, nếu không nằm trong đoạn giá trị này thì dùng OutOfRangException để thông báo lỗi

Bài 6: Tạo package tên exception và thực hiện các yêu cầu bên dưới

Tạo class tên SinhVien có các thuộc tính như mã sinh viên, họ tên, điểm, xếp loại (Xếp loại dựa vào điểm, nếu điểm >= 8 thì xếp loại giỏi, điểm > = 7 thì xếp loại khá, điểm >= 5 thì xếp loại trung bình, điểm < 5 thì xếp loại kém)

a) Viết các setter, getter, constructor, toString

b) Nhập dữ liệu cho sinh viên từ bàn phím Viết code xử lý nhập dữ liệu hợp lệ Nếu nhập sai kiểu dữ liệu thì thông báo lỗi và yêu cầu nhập lại Ví dụ nhập điểm là 10a thì chương trình sẽ hiển thị thông báo “Bạn phải nhập dữ liệu là kiểu số”

c) In thông tin sinh viên ra màn hình

Bài 7: a) Viết hàm cho phép lưu tập tin dưới dạng text file, yêu cầu khởi tạo là 10 dòng, mỗi dòng sẽ có 10 số

ngẫu nhiên cách nhau bởi dấu “;” Xem hình minh họa

b) Tiếp theo viết hàm cho phép đọc tập tin từ câu a, xuất ra tổng giá trị của các phần tử trên mỗi dòng

Lưu ý: Trường hợp này có thể phát sinh lỗi IOException

Bài 8: Viết chương trình nhập vào một chuỗi và in ra chuỗi nghịch đảo của chuỗi nhập (Dùng BufferedReader

và InputStreamReader)

Bài 9: Hiển thị nội dung của một file tên test.txt lưu tại D:\test.txt

Dùng BufferedInputStream thao tác đọc tập tin

Trang 2

import java.io.*;

public class BufferedFileApp

{

public static void main(String args[]) throws IOException

{

new FileInputStream("D:\\test.txt"));

int ch=0;

while ((ch=bStream.read())!= -1)

{

}

bStream.close();

}

}

Bài 10: Copy nội dung một file text đến một file text khác (Dùng BufferedInputStream/BufferedOutputStream

Hoặc dùng FileInputStream/FileOutputStream)

import java.io.*;

public class CopyFileApp

{

public static void main(String args[]) throws IOException

{

if (args.length!=2)

{

System.out.println("Usage : java CopyFileApp <SrcFile> <DestFile>");

return;

}

String SourceFile=args[0]; // tập tin nguồn

String DestFile =args[1]; // tập tin copy

// Tạo bộ đệm đọc dữ liệu từ tập tin nguồn

new FileInputStream(SourceFile));

// Lấy kích thước tập tin nguồn

int FileSize = inFile.available();

// Tạo bộ đệm ghi dữ liệu vào tập tin đích

new FileOutputStream(DestFile));

// Chuyển dữ liệu

int ch=0;

while ((ch=inFile.read())!= -1)

{

outFile.write(ch);

}

System.out.println(FileSize + " bytes da duoc copy xong.");

inFile.close();

outFile.close();

}

}

Bài 11: Dùng DataOutputStream và DataInputStram để ghi và đọc những kiểu dữ liệu khác nhau trên file Bài 12: Liệt kê danh sách các thư mục con và tập tin của 1 thư mục Nếu thư mục, hiển thị thêm <DIR> phía

trước của tên

import java.io.*;

public class FileApp

{

public static void main(String args[])

{File curDir=new File("C:\\");

String[] dirs=curDir.list();

for (int i=0; i<dirs.length; i++)

{

File f=new File("C:\\"+dirs[i]);

if (f.isDirectory())

{

System.out.println("<DIR> "+dirs[i]);

}

Trang 3

else

{

System.out.println(" "+dirs[i]);

}

}

}

}

Bài 13: Truy cập ngẫu nhiên trên file, viết chương trình ghi 6 số kiểu double xuống file, rồi đọc lên theo thứ tự

ngẫu nhiên

Bài 14: Thực hiện đọc ghi đối tượng dùng ObjectInputStream và ObjectOutputStream

import java.io.*;

import java.util.*;

public class ObjectWriteExApp

{

public static void main(String args[])

throws IOException

{

new FileOutputStream("Container.txt"));

// ghi đối tượng String

oStream.writeObject(new String("Hello World"));

// ghi đối tượng Fruit

oStream.writeObject(new Fruit("Orange",10));

oStream.writeObject(new Fruit("Apple",5));

// ghi đối tượng Date

System.out.println("Ghi 4 doi tuong vao tap tin Container.txt");

}

}

class Fruit implements Serializable

{

String name="";

int weight=0;

public Fruit(String n,int w){

name =n;

weight=w;

}

private void writeObject(ObjectOutputStream out)

throws IOException{

out.writeObject("X "+name);

out.writeInt(weight-1);

}

private void readObject(ObjectInputStream in)

throws IOException,ClassNotFoundException{

name =(String)in.readObject();

weight=in.readInt();

}

public String toString()

{

return (name +" "+ weight+" g");

}

}

Bài 15: Dùng BufferedReader đọc từng ký tự từ Console Việc đọc kết thúc khi gặp dấu chấm (dấu chấm để kết

thúc chương trình)

Bài 16: Dùng BufferedReader đọc chuỗi ký tự từ Console Chương trình kết thúc khi gặp chuỗi đọc là chuỗi

“stop”

Bài 17: Định nghĩa lớp lưu trữ thông tin của sinh viên Cho phép nhập dữ liệu sinh viên và lưu trữ thành file

data.dat Đọc dữ liệu từ tập tin, đưa vào mảng và hiển thị kết quả Thông tin của SV bao gồm mã, họ tên, địa chỉ, số điện thoại và điểm trung bình của năm học vừa qua

Ngày đăng: 12/03/2022, 19:56

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w