1. Trang chủ
  2. » Công Nghệ Thông Tin

Lập trình JAVA 4 Bài tập

9 773 12

Đ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 9
Dung lượng 317,07 KB

Nội dung

Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA Lập trình JAVA

Module 4: Writing Class Nội dung kiến thức thực hành: - Khai báo sử dụng lớp Viết lớp với mối quan hệ composition Bài tập 1: Mục đích: Tìm hiểu cách viết lớp Java - Yêu cầu: Cho lớp Distance sau: Tìm hiểu lớp giải thích kết Nếu chương trình bị lỗi, sửa lỗi Hướng dẫn: - Bài tập 2: Mục đích: - Biết cách viết sử dụng overloaded constructors Yêu cầu: - Cho lớp sau, tìm hiểu giải thích cách sử dụng lớp Time Cho biết kết chương trình gì? // Time.java import java.text.DecimalFormat; public class Time { private int hour; // - 23 private int minute; // - 59 private int second; // - 59 // Time constructor initializes each instance variable to zero Ensures that Time object // starts in a consistent state public Time() { setTime( 0, 0, ); } // Time constructor: hour supplied, minute and second defaulted to public Time( int h ) { setTime( h, 0, ); } // Time constructor: hour and minute supplied, second defaulted to public Time( int h, int m ) { setTime( h, m, ); } // Time constructor: hour, minute and second supplied public Time( int h, int m, int s ) { setTime( h, m, s ); } // Time constructor: another Time object supplied public Time( Time time ) { setTime( time.hour, time.minute, time.second ); } // Set a new time value using universal time Perform // validity checks on data Set invalid values to zero private void setTime( int h, int m, int s ) { // hour = ( ( h >= && h < 24 ) ? h : ); if (( h >= && h < 24 )) hour = h; else hour =0; minute = ( ( m >= && m < 60 ) ? m : ); second = ( ( s >= && s < 60 ) ? s : ); } // convert to String in universal-time format public String toUniversalString() { DecimalFormat twoDigits = new DecimalFormat( "00" ); return twoDigits.format( hour ) + ":" + twoDigits.format( minute ) + ":" + twoDigits.format( second ); } // convert to String in standard-time format public String toString() { DecimalFormat twoDigits = new DecimalFormat( "00" ); return ( (hour == 12 || hour == 0) ? 12 : hour % 12 ) + ":" + twoDigits.format( minute ) + ":" + twoDigits.format( second ) + ( hour < 12 ? " AM" : " PM" ); } } // TimeTest.java import javax.swing.*; public class TimeTest { // test constructors of class Time2 public static void main( String args[] ) { Time t1, t2, t3, t4, t5, t6; t1 = new Time(); // 00:00:00 t2 = new Time( ); // 02:00:00 t3 = new Time( 21, 34 ); // 21:34:00 t4 = new Time( 12, 25, 42 ); // 12:25:42 t5 = new Time( 27, 74, 99 ); // 00:00:00 t6 = new Time( t4 ); // 12:25:42 String output=""; output = "Constructed with: " + "\nt1: all arguments defaulted" + "\n " + t1.toUniversalString() + "\n " + t1.toString(); output += "\nt2: hour specified; minute and " + "second defaulted" + "\n " + t2.toUniversalString() + "\n " + t2.toString(); output += "\nt3: hour and minute specified; " + "second defaulted" + "\n " + t3.toUniversalString() + "\n " + t3.toString(); output += "\nt4: hour, minute, and second specified" + "\n " + t4.toUniversalString() + "\n " + t4.toString(); output += "\nt5: all invalid values specified" + "\n " + t5.toUniversalString() + "\n " + t5.toString(); output += "\nt6: Time2 object t4 specified" + "\n " + t6.toUniversalString() + "\n " + t6.toString(); JOptionPane.showMessageDialog( null, output, "Demonstrating Overloaded Constructors", JOptionPane.INFORMATION_MESSAGE ); System.exit(0); } } Hướng dẫn: Bài tập 3: Mục đích: - Biết cách viết sử dụng lớp thành phần (composition class) Yêu cầu: - Cho lớp sau, tìm hiểu giải thích cách sử dụng lớp Date, lớp Employee Cho biết kết chương trình gì? // Date.java public class Date { private int month; // 1-12 private int day; // 1-31 based on month private int year; // any year public Date( int theMonth, int theDay, int theYear ) { if ( theMonth > && theMonth && testDay 500, ngược lại trả false Giải thích: hàm dùng để kiểm tra xem số lượng sản phẩm nhân viên có vượt số lượng chuẩn hay không getTongKet() : trả chữ "Vượt" soSP > 500, ngược lại để trống (có thể sử dụng hàm coVuotChuan() để kiểm tra) getLuong() : trả lương nhân viên, lương ăn theo sản phẩm với đơn giá cho sản phẩm 20000, số sản phẩm nhân viên vượt chuẩn phần vượt chuẩn tính đơn giá 30000 XuatTieuDe() : xuất tiêu đề gồm cột : mã nhân viên, số sản phẩm, lương, tổng kết toString() : trả chuỗi chứa thông tin nhân viên gồm cột: Mã nhân viên (maNV), Số sản phẩm (soSP), Lương Tổng kết (ii) Viết hàm main để kiểm tra lớp NhanVien theo yêu cầu sau: Tạo nhân viên với thuộc tính cho người dùng nhập vào Xuất thông tin họ, gồm mã, số sản phẩm, lương, tổng kết Hướng dẫn: Bài tập 7: Mục đích: Yêu cầu: (i) Xây dựng lớp CNhanVien, biết: ần lượt thuộc tính họ, tên số sản phẩm nhân viên ết hàm khởi tạo CNhanVien(String, String, int), hàm khởi tạo họ, tên, số sản phẩm nhân viên; hàm phải kiểm tra số sản phẩm số lớn 0, số âm gán giá trị cho mSoSP ết hàm lấy gán giá trị cho thuộc tính lớp (các hàm get/set) ết hàm getLuong() để tính lương cho nhân viên, lương = số sản phẩm * đơn giá, với đơn giá tùy thuộc vào số sản phẩm sau: Số sản phẩm Đơn giá - 199 0.5 200 - 399 0.55 400 - 599 0.6 600 trở lên 0.65 ết hàm LonHon(CNhanVien nv2): hàm trả giá trị true số sản phẩm (mSoSP) lớn số sản phẩm nv2, ngược lại trả false (ii) Viết hàm main sử dụng lớp CNhanVien theo yêu cầu sau: Cho người dùng nhập vào nhân viên, nhân viên nhập vào họ, tên, số sản phẩm họ Hãy tính xuất lương nhân viên So sánh xuất thông báo nhân viên có số sản phẩm nhiều nhiều Dùng cách so sánh: dùng hàm LonHon không dùng hàm LonHon Hướng dẫn: Bài tập 8: Mục đích: - Yêu cầu: Xây dựng lớp SinhVien với thuộc tính sinh viên mã sinh viên, họ tên, điểm lý thuyết, điểm thực hành Viết hàm main cho phép thực hiện: (i) Nhập thông tin cho sinh viên (ii) Tính điểm trung bình sinh viên (điểm trung bình = (đlt+dth)/2) (iii) Xuất thông tin sinh viên cho biết kết học tập sinh viên (Đậu điểm trung bình >=5, ngược lại Rớt) Hướng dẫn: Bài tập 9: Mục đích: - Yêu cầu: Xây dựng lớp NhanVien, biết cấu trúc nhân viên sau: - Mã NV: kiểu số nguyên - Họ tên: kiểu chuỗi - Địa chỉ: kiểu chuỗi - CBQL: kiểu logic, có giá trị true nhân viên cán quản lý Viết hàm main cho phép khởi tạo số đối tượng thuộc lớp NhanVien, sau in mã, họ tên nhân viên cán quản lý Hướng dẫn: Bài tập 10: Mục đích: - Viết lớp với mối quan hệ cấu thành, tập hợp (aggregation) Yêu cầu: Cho lược đồ lớp sau : Hãy cài đặt theo mô hình Viết hàm main cho nhập vào số Student xuất thông tin Hướng dẫn:

Ngày đăng: 23/10/2016, 14:48

TỪ KHÓA LIÊN QUAN

w