Bài tập môn lập trình hưỚng đỐi tưỢng (ojbect oriented programming exercises)



tải về 1.29 Mb.
trang1/5
Chuyển đổi dữ liệu14.12.2018
Kích1.29 Mb.
  1   2   3   4   5



BÀI TẬP MÔN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

(OJBECT ORIENTED PROGRAMMING EXERCISES)

HỆ: ĐẠI HỌC

  1. LÀM QUEN VỚI NGÔN NGỮ LẬP TRÌNH JAVA (3 tiết thực hành)


Chương 1. Tổng quan về cách tiếp cận hướng đối tượng

Chương 2. Những khái niệm cơ bản của lập trình hướng đối tượng

Chương 3. Giới thiệu về Java

Mục tiêu:

  • Làm quen với ngôn ngữ lập trình Java

  • Làm quen với công cụ lập trình Java (Eclipse hoặc Jcreator/NetBeans)

  • Hiểu được cấu trúc 1 chương trình Java, cách biên dịch và chạy chương trình dùng ngôn ngữ lập trình Java

  • Hiểu và áp dụng được nhập xuất dữ liệu, các toán tử trong ngôn ngữ lập trình Java.

  • Hiểu và áp dụng được các cấu trúc điều khiển, cấu trúc lặp trong ngôn ngữ lập trình Java

Yêu cầu:

  • Tất cả các bài tập lưu trong thư mục: D:\MaSV_HoTen\Tuan01\

  • 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 soạn thảo hỗ trợ cho lập trình hướng đối tượng dùng ngôn ngữ lập trình Java (Eclipse/JCreator/NetBeans)

  • Tên tập tin .java phải cùng tên với tên lớp.

PHẦN THIẾT LẬP MÔI TRƯỜNG LÀM VIỆC

  1. Cấu trúc của 1 chương trình viết bằng ngôn ngữ lập trình Java

package packageName; // 1. Khai báo tên gói nếu cần
import java.util.Scanner; // 2. Khai báo thư viện có sẵn nếu cần dùng
public class ClassName // 3. Khai báo tên lớp

{

/* các ghi chú liên quan */



int var; // Khai báo biến của lớp

public void methodName() // 4. Khai báo tên phương thức và tham số

{

/* 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) // 5. Hàm chính để chạy

{

/* hàm chính */



}

}


  1. Thao tác biên dịch và chạy chương trình Java trên Console.

Dùng Notepad (hoặc Notepad++) soạn thảo code và dùng Console biên dịch →chạy chương trình (javacjava của JDK).

Thiết lập biến môi trường để chạy java ở cơ chế command -line

Khởi động Windows Explorer, copy đường dẫn tới thư mục bin khi cài đặt java



Mở System Properties, Chọn thẻ Advanced

Nhấn nút “Environment Variables…”

Tìm đến biến Path, và nhấn nút “Edit…” . Đưa con trỏ vào cuối dòng, gõ dấu ;. Rồi paste đường dẫn tới thư mục bin khi cài đặt java vào.



Nhấn nút OK liên tiếp để đóng các cửa sổ đã mở ra.

Mở command-line, gõ vào javac, nhấn enter. Nếu như cửa sổ chạy ra có dạng như hình là OK.

Nếu ra thông báo kiểu: 'javac' is not recognized as an internal or external command, operable program or batch file, như hình.



Thì coi như thiết lập sai, cần phải làm lại.



Hoặc thực hiện các bước sau:

Trong cửa sổ console thực hiện các bước



B1: Set Path=%PATH%;C:\Program Files\Java\Jdk1.5\bin

B2: Chuyển về thư mục D:\MaSV_HoTen\Tuan01\

B3: Biên dịch (dùng lệnh javac TenTapTin.java, nếu quá trình biên dịch không có lỗi sẽ phát sinh tập tin TenTapTin.class trong cùng thư mục) và chạy chương trình (dùng lệnh java TenTapTin)

  1. Thao tác tạo Project, tạo tập tin java, biên dịch tập tin dùng Jcreator 5.0 hoặc Eclipse.

Sử dụng Eclipse IDE

A. Khởi động Eclipse

1.Khởi động Eclipse JSE



2.Chọn Perspective



Chọn Perspective Java(Default)



Đóng Welcome screen. Kết quả





B. Tạo Project trong Eclipse

1. Tạo project mới: Menu File->New->Java Project



Nhấn Finish. Kết quả trong Project Explorer





2. Viết code:

Lưu ý NÊN tạo các package để lưu trữ các lớp java



Đặt tên theo kiểu: a.b.c trong đó các ký tự là tên bất kỳ. Ví dụ: chuong01.tuan01.bai01 Điều đó có nghĩa là Eclipse sẽ tạo cho bạn 3 thư mục: chuong01\tuan01\bai01. Lưu ý: các gói luôn được đặt tên bằng chữ thường.



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 tự hoa. Đặt theo kiểu Title-Case

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.

Một số editing template hay dùng:

Gõ sysout sau đó nhấn Ctrl-Spacebar sẽ cho System.out.println();

Gõ main sau đó nhấn Ctrl-Spacebar sẽ cho public static void main(String[] args) {}

Để tìm hiểu thêm, vào menu Window->Reference

Các phím tắt hay dùng: Trong Eclipse, vào menu Help->Key Assitst hoặc nhấn tổ hợp Ctrl-Shift-L để hiển thị.



3. 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.



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.



Một vài vấn đề thường gặp:

  1. Eclipse sẽ tự động biên dịch code 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:



2. Vấn đề tiếng Việt(unicode) trong eclipse:

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

Nhấn Apply. Từ đây, bất cứ project nào tạo ra đều hỗ trợ Unicode.



3. Mở Project trong Eclipse

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, mà bạn phải import project vào workspace như sau:

Vào menu File->Import rồi chọn như hình

Nhấn Next. Sau đó 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.



4. Export file jar tự chạy(executable jar file) trong eclipse

Nhấn chuột phải lên Project cần export, chọn Export.

Chọn Runnable JAR file như hình. Nhấn Next

Chọn Lauch configuration. Chọn thư mục chứa cũng như tên file jar. Nhấn Finish.

Thực thi jar file dưới dạng command-line:

Nếu Project của bạn ở cơ chế GUI thì bạn có thể mở file jar của bạn bằng Java Plaform SE library như hình.





PHẦN LIÊN QUAN ĐẾN NHẬP XUẤT

  1. Viết chương trình xuất ra màn hình dòng chữ “Hello World!”

Lưu ý sử dụng xuất ra màn hình:

  • Sytstem.out.print(): xuất ra màn hình một chuỗi hay một giá trị (không xuống dòng)

  • Sytstem.out.println(): xuất ra màn hình một chuỗi hay một giá trị (có xuống dòng)

  • Sytstem.out.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++

Cú pháp: System.out.printf(“format-string”, [arg1, arg2, arg3, …]);

  • %d, %f, %c, %s: số nguyên (byte, short, int, long), số thực (float, double)

  • Dấu -: canh trái, mặc định canh phải.

  • %0: fill số 0.

  • Một số ký tự đặc biệt: \a, \b, \f, \n, \r, \t, \v, \\

  • Độ 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



  1. 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”.

Lưu ý:

  • Để nhập dữ liệu từ bàn phím, dùng thư viện Scanner bằng cách

import java.util.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 LIÊN QUAN ĐẾN CÁC TOÁN TỬ

  1. Cho đoạn chương trình sau:

Thao tác với toán tử số học

Thao tác với toán tử nối chuỗi



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?




  1. Cho đoạn chương trình sau:

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.

Kết quả và giải thích?




  1. Cho đoạn chương trình sau:

Thao tác với toán tử điều kiện


PHẦN CẤU TRÚC LẶP VÀ CẤU TRÚC ĐIỀU KHIỂN

  1. Ví dụ về cấu trúc điều khiển

Cấu trúc if-else, switch case

Cấu trúc while, do while và for





Phát sinh ngẫu nhiên số sử dụng lớp Random. Lớp Random nằm trong gói java.util.* có 1 số phương thức:



Method

Produces

boolean nextBoolean();

A true or false value

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

float nextFloat()

A decimal number between 0.0 (included) and 1.0 (excluded)

double nextDouble()

A decimal number between 0.0 (included) and 1.0 (excluded)

Phát sinh số ngẫu nhiên nằm trong một vùng (min, max)

int min = 65;

int 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.

  1. Viết chương trình in ra tổng của 10 số chẵn đầu tiên (sử dụng vòng lặp for hoặc while)



  1. Viết chương trình in ra những số lẻ từ 1 đến 99.



  1. Viết chương trình xuất ra tổng các số là bội số của 7 (từ 1 đến 100)



  1. Viết chương trình in ra tổng 1+2+3….+n với n được nhập từ tham số command line



  1. Viết chương trình in ra tổng 1+3+5….+n nếu n là số chẵn, 2+4+6+….n nếu n là số lẻ. Giá trị n được nhập vào từ tham số command line



  1. Viết chương trình in ra giá trị lớn nhất và nhỏ nhất trong một dãy các giá trị user đã nhập vào từ tham số command line.



  1. Viết chương trình giải phương trình bậc 1 với hệ số a, b được nhập vào bởi user từ tham số command line.



  1. Viết chương trình đọc một giá trị nguyên từ bàn phím và in ra số đó là số chẵn, lẻ hoặc zero



  1. Viết chương trình in ra bội số của 3 từ 300 đến 3.



  1. Viết chương trình in ra số lần kí tự ‘a’ xuất hiện trong một chuỗi.



  1. Viết hàm để đếm số lượng ký tự là số có trong chuỗi s. Chuỗi s được nhập từ bàn phím. Dùng mã ASCII để kiểm tra hoặc dùng class Character: Character.isDigit(ký tự) để kiểm ký tự có phải là số hay không .



  1. Viết hàm tách chuỗi gốc thành chuỗi khác (dùng StringTokenizer).

VD: chuỗi gốc S = “Bai Tap Mon Lap Trinh Java”, chuỗi sau khi tách là

“Bai


Tap

Mon


Lap

Trinh


Java”


  1. 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



  1. Viết chương trình tìm USCLN của 2 số nhập vào.



  1. Viết chương trình tính tổng N số nguyên.



  1. Tính tổng các số nguyên tố nhỏ hơn N



  1. Tính tổng N số nguyên tố đầu tiên



  1. Viết chương trình nhập vào số nguyên n và thực hiện:

   Xuất ra màn hình n số đầu tiên của chuỗi Fibonaci (có hai giá trị đầu là 1 và 1)


  1. Viết chương trình in ra những hình sau: (mỗi hình sử dụng những vòng lặp khác nhau)

* * * * * * * * *

* * * * * * * * *

* * * * * * * * *

* * * * * * * * *

* * * * * * * * *

* * * * * * * * *

* * * * * * * * *

* * * * * * * * *

* * * * * * * * *

* * * * * * * * *

* * * * * * * * *

* * * * * * * * *

* * * * * * * * *

* * * * * * * * *

* * * * * * * * *

* * * * * * * * *

* * * * * * * * *

* * * * * * * * *


* * * * * * * * *

* * * * * * * * *

* * * * * * * * *

* * * * * * * * *

* * * * * * * * *

* * * * * * * * *

* * * * * * * * *

* * * * * * * * *

* * * * * * * * *


  1. Viết chương trình nhập vào M và N, xuất ra các hình sau: (dùng cấu trúc lặp)

a.

*

* *



* * *

* * * *


* * * * *

* * * * * *

* * * * * * * * * * * *
b

* * * * * * *

* * * * * * *

* * * * * * *

* * * * * * *

* * * * * * *

* * * * * * *

* * * * * * *


c.
*

* * *


* * * * *

* * * * * * *

* * * * * * * * *

* * * * * * * * * * *

* * * * * * * * * * * * *

* * * * * * * * * * * * * * *

* * * * * * * * * * * * * * * * *

* * * * * * * * * * * * * * * * * * *


d.
*

* * *


* * * * *

* * * * * * *

* * * * * * * * *

* * * * * * * * * * *

* * * * * * * * * * * * *

* * * * * * * * * * * * * * *

* * * * * * * * * * * * * * * * *

* * * * * * * * * * * * * * * * * * *



Kiểu dữ liệu căn bản trong Java (Primary Data Type)

Kiểu dữ liệu

Bit

Phạm vi biểu diễn giá trị

Mô tả

byte

8

-128 đến 127

Số liệu kiểu byte là một loại điển hình dùng để lưu trữ một giá tri bằng một byte. Chúng được sử dụng rộng rãi khi xử lý một file văn bản

char

16

‘\u0000’ to ’u\ffff ’

Kiểu Char sử dụng để lưu tên hoặc các dữ liệu ký tự .Ví dụ tên ngườI lao động

boolean

1

“True” hoặc “False”

Dữ liệu boolean dùng để lưu các giá trị “Đúng” hoặc “sai” Ví dụ : Người lao đông có đáp ứng được yêu cầu của công ty hay không ?

short

16

-32768 đến 32767

Kiểu short dùng để lưu các số có giá trị nhỏ dưới 32767.Ví dụ số lượng người lao động.

int

32

-2,147,483,648 đến +2,147,483,648

Kiểu int dùng để lưu một số có giá trị lớn đến 2,147,483,648.Ví dụ tổng lương mà công ty phải trả cho nhân viên.

long

64

-9,223,372,036’854,775,808 đến +9,223,372,036’854,775,808

Kiểu long được sử dụng để lưu một số cố giá trị rất lớn đến 9,223,372,036’854,775,808 .Ví dụ dân số của một nước

float

32

-3.40292347E+38 đến +3.40292347E+38

Kiểu float dùng để lưu các số thập phân đến 3.40292347E+38 Ví dụ : giá thành sản phẩm

double

64

-1,79769313486231570E+308 đến +1,79769313486231570E+308

Kiểu double dùng để lưu các số thập phân có giá trị lớn đến1,79769313486231570E+308 Ví dụ giá trị tín dụng của ngân hàng nhà nước.


  1   2   3   4   5


Cơ sở dữ liệu được bảo vệ bởi bản quyền ©tieuluan.info 2017
được sử dụng cho việc quản lý

    Quê hương