1. Trang chủ
  2. » Tất cả

Tai lieu lap trinh huong doi tuong java 2019

25 1 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tài liệu lập trình hướng đối tượng java 2019
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành Công nghệ Thông tin
Thể loại Tài liệu hướng dẫn
Năm xuất bản 2019
Thành phố Hà Nội
Định dạng
Số trang 25
Dung lượng 883,62 KB

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

Nội dung

Microsoft Word Tai Lieu Lap Trinh Huong Doi Tuong JAVA 2019 doc Tài liệu Thực hành Lập trình Hướng đối tượng Java Bộ môn Công nghệ Thông tin Trang 1 THỰC HÀNH TUẦN 1, 2, 3, 4, 5 GIỚI THIỆU CHUNG VỀ JA.

Trang 1

THỰC HÀNH TUẦN 1, 2, 3, 4, 5

GIỚI THIỆU CHUNG VỀ JAVA

I Cài đặt Netbean

Yêu cầu hệ thống

Để cài đặt Netbeans IDE hệ thống cần những yêu cầu sau:

• Os : Windows 7 (32 bit hoặc 64 bit), Ubuntu 10 trở lên, Mac OS 10.7 trở lên

• CPU : Pentium IV trở lên

• Ram : Ít nhất 1GB

• Ổ đĩa trống: Ít nhất 1GB

Phần mềm cần thiết

Để cài đặt Netbeans IDE ta cần chuẩn bị:

Java SE Development Kit (JDK)

Netbeans IDE

Các bước cài đặt

Để cài đặt Netbeans IDE chúng ta cần làm theo các bước như sau:

Bước 1 : Ta cần cài đặt Java SE Development Kit(JDK) trước mới cài đặt được Netbeans

IDE Đầu tiên các bạn vào link download JDK ở phía trên để download JDK về máy Bạn

cần Accept License Agreement trước sau đó chọn bản cài đặt phù hợp với hệ thống máy của

mình

Bước 2: Sau khi download JDK bạn khởi chạy Java SE Development Kit lên nhấn Next để

tiếp tục

Bước 3: Để nguyên mặc định nhấn Next để tiếp tục

Bước 4: Quá trình cài đặt hiện ra bạn chờ 1 tí xíu để tiếp tục bước tiếp theo

Bước 5: Bạn để nguyên mặc định nhấn Next để tiếp tục

Bước 6: Bạn đợi quá trình cài đặt diễn ra

Bước 7: Cài đặt xong bạn nhấn Close để hoàn thành bước cài đặt JDK

Bước 8: Sau khi download Netbeans IDE Bạn khởi chạy Netbeans IDE để cài đặt nhấn Customize để vào phần tiếp theo hoặc nhấn Next để tiến tới bước 11

Trang 2

Bước 9: Bạn nên chọn hết các phần lựa chọn sau đó nhấn OK để tiếp tục

Bước 10: Bạn nhấn Next để tiếp tục

Bước 11: Bạn chọn vào I accept the terms in the license agreement như hình sau đó nhấn Next để tiếp tục

Bước 12: Để mặc định nhấn Next để tiếp tục(3 lần)

Bước 13: Bạn nên chọn Check for Updates để NetBeans luôn được cập nhật phiên bản mới nhất sau đó nhấn Install để cài đặt

Bước 14: Quá trình cài đặt diễn ra bạn vui lòng chờ đợi

Bước 15: Nhấn Finish để kết thúc quá trình cài đặt

Bước 16: Khi cài đặt xong bạn khởi chạy Netbeans IDE lên nếu giao diện xuất hiện thì đã

Bước 3: Bạn chọn mục Advanced sau đó chọn Environment Variables

Bước 4: Bạn chọn New như trong hình

Bước 5: Bạn điền thông tin vào

• Variable name: JAVA_HOME

• Variable value: bạn điền đường dẫn file JDK lúc đầu bạn cài đặt thông thường sẽ là C:\Program File\Java\jdkxxx (xxx tương ứng với phiên bản mà bạn đã cài đặt)

Sau đó bạn nhấn OK để hoàn thành

Trang 3

II Chạy bài ví dụ “Hello.java”

a Mở chương trình Netbean IDE

b Tạo Project để quản lý các file thực thi

Bước 1: Vào File > New Project… hoặc phím tắt Ctrl + Shift + N

Bước 2: Chọn loại Project(ở đây chọn Java Class Library)

Trang 4

Bước 3:

- Đặt tên Project

- Chọn thư mục chứa Project

Bước 4: Tạo lớp Hello.java

Chuột phải lên Project vừa tạo, chọn như hình

Form mới xuất hiện yêu cầu nhập tên Class cần tạo

Trang 5

c Các bước thực hiện viết chương trình Java

- Tạo Project chứa các class

Trang 6

Tại lớp Java cần chạy, chuột phải chọn Run File hoặc nhấn tổ hợp phím Shift + F6 để

chạy chương trình

III Bài tập:

1 Viết chương trình định dạng số thập phân

Mã nguồn tham khảo

import java.text.DecimalFormat;

public class DecimalFormat3 {

public static void main(String args[])

Với cách này nên viết riêng class ThuVien để thuận tiện sử dụng nhiều lần hơn

Mã nguồn tham khảo:

Trang 7

Khi muốn sử dụng, ta chỉ cần gọi:

int a = ThuVien.getInt(“Nhap chieu dai:”);

2 Viết chương trình giải phương trình bậc 2

Bước 2: Nếu a ≠ 0 thì

Bước 2.1: Tính delta = b2 - 4ac

Bước 2.2:

Nếu delta <0 thì vô nghiệm

Nếu delta = 0 thì có 1 nghiệm x = -b/2/a

Nếu delta > 0 thì có hai nghiệm phân biệt

Trang 8

public class PhuongTrinhBacHaii {

public static void main(String[] args) {

//Tao cac bien de giai phuong trinh bac 2

float a, b, c, x1, x2, del;

//Tao doi tuong Scanner de nhap du lieu

Scanner input = new Scanner(System.in);

}

}

}

Trang 9

- Đầu vào : Chiều dài và chiều rộng

- Đầu ra : Chu vi và diện tích hình chữ nhật

- Phương pháp :

o Công thức tính chu vi hình chữ nhật : (chiều dài + chiều rộng) x 2

o Công thức tính diện tích hình chữ nhật : chiều dài x chiều rộng

4 Viết chương trình nhập vào 3 số được nhập vào có phải là 3 cạnh tam giác? Nếu đúng là 3 cạnh tam giác, cho biết tam giác loại gì? Vuông, cân, đều, thường?

5 Viết chương trình tính tổng các số chẵn từ 2 đến N(nguyên dương nhập từ bàn phím)

9 Viết chương trình in ra dãy số Fibonaci là dãy số tự nhiên có số sau bằng tổng

2 số đi liền trước nó: 0,1,1,2,3,5,8,13 cho đến n

10 Viết hàm tinhDTBC nhận đối số là một mảng số thực các điểm số từ 0 đến 10 Tính và trả về điểm trung bình của các điểm số Nếu có điểm số không hợp lệ thì hàm trả về giá trị -1 Viết chương trình để gọi hàm này trong hàm main và với một mảng điểm khai báo và khởi gán sẵn, in ra số liệu mảng và kết quả gọi hàm

import java.io.*;

import java.util.*;

class MangSoNguyen {

public static void main(String[] args) {

// khoi tao mang so nguyen gom 10 phan tu

int[] array_int = new int[10];

// khoi tao cac gia tri ngau nhien cho mang so nguyen

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

array_int[i] = (int) (Math.random()*50);

//tinh tong cac so nguyen ngau nhien trong mang

int sum=0;

Trang 10

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

sum+=array_int[i];

// hien thi ket qua

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

System.out.println("So thu " + i+ " la:" + array_int[i]);

System.out.println(" Tong 10 so nguyen ngau nhien la : " + sum);

18 Viết chương trình thực hiện các thao tác sau đối với một chuỗi cho trước:

“Write a Java program very easily”

- Đếm số lượng ký tự a có trong chuỗi

- Kiểm tra chuỗi có chứa từ “Java”

- Kiểm tra chuỗi có bằng đầu bằng từ “Write””

- Kiểm tra chuỗi có kết thúc bằng từ “easily”

19 Viết chương trình cho nhập vào 1 chuỗi và in ra chuỗi đảo ngược

20 Viết chương trình in ra ngày, tháng, năm hiện tại

21 Viết hàm biến đổi số thập phân thành chuỗi nhị phân 8 bít

22 Viết hàm biến đối chuỗi nhị nhân thành số thập phân

23 Viết hàm chuẩn hóa một chuỗi họ tên: viết hoa ký tự đầu tiên, loại bỏ ký tự không phải là ký tự chữ a-z, giữa họ, chữ lót và tên chỉ có 1 ký tự trắng

Trang 11

BÀI THỰC HÀNH TUẦN 6, 7, 8, 9, 10

LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG JAVA

1 Viết chương trình tạo một lớp có tên FirstClass, có 1 thuộc tính có tên msg và 2 phương thức có tên getMsg và setMsg lần lượt lấy và gán nội dung thuộc tính msg

public class FirstClass {

//Khai báo thuộc tính msg của lớp

public static void main(String[] args) {

FirstClass f = new FirstClass("Hello");

Trang 12

float x, y Thuộc tính là toạ độ điểm

Point2D() Khởi tạo phương thức mặc định

Point2D(float, float) Phương thức khởi tạo 2 đối số

void move(float dx, float dy) Di chuyển điểm đến vị trí mới

(x+dx, y+dy) float distance(Point) Tính khoảng cách 2 điểm, áp dụng công thức

void display() Hiển thị vị trí của điểm ra màn hình

public class Point2D {

public double distance(Point2D A) {

return Math.sqrt(Math.pow(this.x - A.x, 2) + Math.pow(this.y

- A.y, 2));

}

d = (x2− x1)2+ ( y2− y1)2

Trang 13

public void display() {

//Hien thi toa do diem A vi tri moi

System.out.println("Toa do moi cua A la: ");

float a, b, c Thuộc tính là 3 cạnh của tam giác

Triangle(float,float,float) Hàm khởi tạo 3 cạnh của tam giác

isTriangle() Kiểm tra 3 cạnh có hợp lý

isEquilateral() Kiểm tra có phải là tam giác đều

isIsosceles() Kiểm tra có phải là tam giác cân

isRight() Kiểm tra có phải là tam giác vuông

isRightIsosceles() Kiểm tra có phải là tam giác vuông cân getType() Trả lại kiểu tam giác(vuông, cân, đều,…)

display() Hiển thị 3 cạnh, kiểu tam giác và diện tích

Trang 14

6 Viết chương trình tạo lớp Time biểu diễn thời gian với ba thuộc tính giây, phút, giờ(second, minute, hour) và các phương thức gồm khởi tạo, lấy và thiết lập giá trị thuộc tính, tăng giờ phút giây lên 1 đơn vị Tại hàm main tạo đối tượng lớp Time

có giá trị giờ, phút, giây 7,0,0 và sau đó dùng vòng lặp while vô hạng để hiển thị đồng hồ

public class Time {

private int hour;

private int minute;

private int second;

public Time(int h, int m, int s) {

public String toString() {

return ((hour == 12 || hour == 0) ? 12 : hour % 12) + ":" + (minute < 10 ? 0 + minute : minute) + ":" + (second < 10 ? 0 + second : second) + " " + (hour < 12 ? "AM" : "PM");

Trang 15

public static void main(String[] args) {

Time t = new Time(7, 0, 0);

Trang 16

7 Viết chương trình tạo và sử dụng lớp Fraction để biểu diễn lớp phân số gồm các phương thức sau:

a Fraction(): Hàm khởi tạo mặc định

b Fraction(int numerator, int denominator): Hàm khởi tạo giá trị tử số và mẫu số

c add(Fraction): Cộng hai phân số

d sub(Fraction): Trừ hai phân số

e mul(Fraction): Nhân hai phân số

f div(Fraction): Chia hai phân số

g inverse(): Nghịch đảo phân số

h reduce(): Tối giản phân số

i display(): Hiển thị phân số theo dạng “tử số / mẫu số”

8 Tạo lớp Person gồm 3 thuộc tính name, age, address và các phương thức khởi tạo, hiển thị các thông tin thuộc tính Tạo lớp Employee kế thừa lớp Person có thêm 2 thuộc tính salary và rate, các phương thức khởi tạo, tính tổng lương và hiển thị thông tin nhân viên

class Person {

private String name;

private int age;

private String address;

public Person(String name, int age, String address) {

this.name = name;

this.age = age;

this.address = address;

}

public String display() {

return "Name: " + name + " Age: " + age + " Address: " + address;

}

}

public class Employee extends Person {

private float salary;

private float rate;

public Employee(String name, int age, String address, float salary, float rate) {

super(name, age, address);

this.salary = salary;

this.rate = rate;

Trang 17

}

public float sumSalary(){

return salary * rate;

}

public String display() {

return super.display() + " Sum Salary: " + sumSalary();

}

public static void main(String[] args) {

Employee em = new Employee("Dung",18,"48 Cao Thang", 1490000,2.34f);

Person(String, int, String) Hàm khởi tạo với 3 đối số

getName() Trả về giá trị thuộc tính name

setName(String) Thiết lập giá trị mới cho thuộc tính name getAge() Trả về giá trị thuộc tính age

setAge(int) Thiết lập giá trị mới cho thuộc tính age getAddress() Trả về giá trị thuộc tính address

setAddress(String) Thiết lập giá trị mới cho thuộc tính

address display() Hiển thị giá trị các thuộc tính

Tạo lớp Student dẫn xuất từ lớp Person, có thêm các thuộc tính math, physics, chemistry, average và các phương thức như trong bảng sau

Student(String name, int age, String

address, float math, float physics, float

Hàm khởi tạo các thuộc tính của lớp

Trang 18

chemistry)

getAverage() Trả về điểm trung bình

getMath() Trả về giá trị thuộc tính Math

display() Hiển thị giá trị các thuộc tính

10 Khai báo lớp Shape là lớp trừu tượng(abtract) như sau:

abstract class Shape {

public abstract double area();

public String toString() {

return "Area: " + area();

}

}

Xây dựng lớp Rectangle và Circle kế thừa lớp Shape định nghĩa hình chữ nhật và hình tròn

public class TestShape {

public static void main(String args[]) {

Shape vec[] = {new Circle(3), new Rectangle(4, 5), new Circle(4)};

for (int index = 0; index < vec.length; index++) {

System.out.println(vec[index]);

}

}

}

abstract class Shape {

public abstract double area();

public String toString() {

return "Area: " + area();

}

}

class Rectangle extends Shape {

private double width;

private double height;

public Rectangle(double w, double h) {

width = w;

height = h;

}

Trang 19

public double area() {

return width * height;

}

}

class Circle extends Shape {

private double radius;

public Circle(double r) {

radius = r;

}

public double area() {

return Math.PI * radius * radius;

}

}

11 Tạo lớp hình chữ nhật, có phương thức tính diện tích Viết chương trình tạo một mảng gồm 10 đối tượng của lớp hình chữ nhật, sau đó sắp xếp mảng theo chiều tăng dần của diện tích các đối tượng hình chữ nhật

public class RectangleTest {

public static void main(String[] args) {

Rectangles vec[] = new Rectangles[10];

double randomWidth = 0, randomHeight = 0;

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

abstract class Shapes {

abstract double area();

Trang 20

public String toString() {

return "Area: " + area();

public double area() {

return width * height;

}

public int compareTo(Object other) {

Shapes otherRect = (Shapes) other;

return (int) (this.area() - otherRect.area());

}

}

12 Viết chương trình quản lý sinh viên gồm các chức năng cơ bản:

a Nhập danh sách sinh viên;

b Xem danh sách sinh viên;

c Sắp xếp và hiển thị danh sách sinh viên theo chiều tăng dần của điểm trung bình;

d Tìm kiếm sinh viên theo tên

Giả sử mỗi sinh viên được mô tả gồm 3 thuộc tính: id, name, aver

public class StudentManagement {

Vector list = new Vector();

public StudentManagement() {

while (true) {

System.out.println("1 Nhap danh sach sinh vien");

System.out.println("2 Xem danh sach sinh vien");

Trang 21

System.out.println("3 Sap xep sinh vien tang dan theo DTB");

System.out.println("4 Tim sinh vien theo ten");

num = ThuVien.getInt("Nhap so luong sinh vien: ");

for (int i = 1; i <= num; i++) {

System.out.println("Nhap thong tin thu: " + i);

int id = ThuVien.getInt("ID: ");

String name = ThuVien.getString("Ten: ");

float aver = ThuVien.getFloat("DTB: ");

Student st = new Student(id, name, aver);

list.add(st);

}

}

public void view() {

//Lay danh sach sinh vien va luu tru o vEnum

Enumeration vEnum = list.elements();

int i = 1;

while (vEnum.hasMoreElements()) {

Student st = (Student) vEnum.nextElement();

System.out.println("Id: " + st.getId() + ", Ten: " + st.getName() + ", DTB: " + st.getAver());

i++;

}

}

public void sort() {

Student[] st = new Student[list.size()];

Trang 22

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

System.out.println("Id: " + st[i].getId() + ", Ten: " + st[i].getName() + ", DTB: " + st[i].getAver());

}

}

public void search() {

String name = ThuVien.getString("Nhap ten sinh vien can tim kiem: ");

Enumeration vEnum = list.elements();

System.out.println("Thong tin tim kiem duoc: ");

class Student implements Comparable {

private int id;

private String name;

private float aver;

Ngày đăng: 05/03/2023, 00:42