Thực hành Java: Giải các bài tập lập trình Java

Bài 1: Cài đặt JDK và Netbean IDE.Giải bài tập 1

Bài 2. 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).Giải bài tập 2

Bài 4. Viết chương trình giải phương trình bậc hai. Giải bài tập 4

Bài 6. Viết chương trình tính tổng S = 1 + 1/2 + 1/3 + … + 1/n với n nguyên dương được nhập từ bàn phím. Giải bài tập 6

Bài 8. Viết chương trình tính tổng S = 1 /1! + 2 /2! + ….+ n / n! Giải bài tập 8

Bài 9. Dãy số Fibonacci được định nghĩa như sau: F0 =1, F1 = 1; Fn = Fn-1 + Fn-2 với n>=2. Hãy viết chương trình tìm số Fibonacci thứ n. Giải bài tập 9

Bài 10. Hãy viết chương trình tính tổng các chữ số của một số nguyên bất kỳ. Ví dụ: Số 8545604 có tổng các chữ số là: 8+5+4+5+6+0+4= 32. Giải bài tập 10

Bài 12. Viết chương trình nhập vào một mảng số nguyên có n phần tử Giải bài tập 12

  • a) Xuất giá trị các phần tử của mảng.
  • b) Tìm phần tử có giá trị lớn nhất, nhỏ nhất.
  • c) Đếm số phần tử là số chẵn
  • d) Tìm các phần tử là số nguyên tố.
  • e) Sắp xếp mảng tăng dần
  • f) Tìm phần tử có giá trị x

Bài 13. Cho ma trận số nguyên cấp n x m. Cài đặt các hàm thực hiện các chức năng sau: Giải bài tập 13

  • a) Nhập ma trận.
  • b) In ma trận.
  • c) Tìm phần tử nhỏ nhất.
  • d) Tìm phần tử lẻ lớn nhất.
  • e) Tìm dòng có tổng lớn nhất.

Bài tập về xâu ký tự

Hướng dẫn:

Các bạn cần lưu ý là khi chúng ta khởi tạo một String thì Java sẽ tạo ra một chuỗi ký tự và đặt vào đâu đó trong bộ nhớ, còn khi ta gán một String cho một biến thì biến đó sẽ trỏ đến vị trí của String đã khai báo .

Ví dụ:

 String s="Hello";
 String s1=s;
 String s2=new String("Hello");
 String s3="Hello";
 System.out.println("s=s1: "+(s==s1));
 System.out.println("s=s2: "+(s==s2));
 System.out.println("s=s3: "+(s==s3));

Kết quả:

s=s1: true
s=s2: false
s=s3: true

Các bạn có thể hình dung s,s1,s2,s3 chỉ là các con trỏ lưu địa chỉ của chuỗi kiểu String, ở ví dụ trên s,s1,s3 cùng
trỏ đến một chuỗi trong bộ nhớ còn s2 trỏ đến chuỗi khác(được cấp phát bộ nhớ bằng từ khóa new). Mặc dù nội dung các
chuỗi giống nhau nhưng s2 trỏ đến một ví trí khác trong bộ nhớ.
vì String là không thể thay đổi nên khi thao tác với chuỗi các bạn cần lưu ý nó không giống như các kiểu dữ liệu cơ bản khác

Bài 15. Viết chương trình nhập vào một xâu ký tự và một ký tự ch. Đếm và in ra màn hình số lần xuất hiện của ký tự ch trong xâu ký tự đó.  Giải bài tập 15

 

Bài 17. Nhập vào một xâu. Tạo ra xâu đảo ngược với xâu đã nhập. Giải bài tập 17

Bài 20. Nhập vào một xâu. Đếm xem trong xâu có bao nhiêu ký tự chữ cái, bao nhiêu ký tự chữ số và bao nhiêu từ (các từ ngăn cách với nhau bởi khoảng trắng). Giải bài 20

Bài 21. Nhập vào một xâu. Loại bỏ tất cả các khoảng trắng dư thừa trong xâu. Giải bài 21

Bài 22. Nhập một xâu từ bàn phím. Hãy xóa tất cả các nguyên âm trong xâu.  Giải bài tập 22

Bài 23. Nhập vào một số điện thoại theo định dạng (091) 022-6758080. In ra màn hình mã Quốc gia (091), mã vùng (022) và số điện thoại (6758080). Giải bài 23

Bài 24. Nhập một xâu từ bàn phím. Hãy tạo ra một xâu có các từ đối xứng với xâu vừa nhập. Giải bài tập 24

Ví dụ: Nhập: “ Nha Trang Khanh Hoa”. In ra: “Hoa Khanh Trang Nha”

 

Bài tập Hướng đối tượng

Bài 1. Viết lớp HinhTron có các phương thức tính chu vi và diện tích. Viết hàm main để test lớp này. Giải bài 1-OOP

Bài 2. Xây dựng lớp HinhTamGiac theo yêu cầu sau:  Giải bài 2-OOP

HinhTamGiac
– ma : int

– mb : int

– mc : int

+ HinhTamGiac()

+ HinhTamGiac(a: int, b: int, c: int)

+ getCanhA() : int

+ setCanhA(v : int) : void

+ getCanhB() : int

+ setCanhB(v : int) : void

+ getCanhC() : int

+ setCanhC(v : int) : void

+ laTamGiac() : boolean

+ laTamGiac(int, int, int) : boolean

+ getChuVi() : int

+ getDienTich() : double

Trong đó:

  • ma, mb, mc là ba cạnh của tam giác.
  • Hàm khởi tạo HinhTamGiac(int, int, int): yêu cầu kiểm tra:
    • nếu giá trị truyền có số âm thì thông báo và gán thuộc tính tương ứng bằng 0;
    • nếu 3 giá trị truyền vào không lập thành một hình tam giác thì thông báo “Không phải hình tam giác” và gán 3 thuộc tính bằng 0.

HD : ba giá trị lập thành một hình tam giác khi và chỉ khi tổng hai cạnh bất kỳ luôn lớn

hơn cạnh còn lại.

 

  • Các hàm setCanhA, setCanhB, setCanhC cũng yêu cầu phải kiểm tra giá trị gán có là số dương và lập thành tam giác hay không, nếu không thì không gán (giữ lại giá trị cũ).
  • Hàm getChuVi(), getDienTich(): tính chu vi và diện tích của tam giác.
  • Hàm laTamGiac(): trả về giá trị true khi  ba giá trị  ma,  mb,  mc  lập thành một hình tam giác, ngược lại trả về giá trị false.
  • Hàm laTamGiac(int, int, int): trả về giá trị true khi ba giá trị a, b, c lập thành một hình tam giác, ngược lại trả về giá trị false.

Viết hàm main để kiểm tra lớp HinhTamGiac theo yêu cầu: Cho nhập vào 3 giá trị số nguyên và khởi tạo hình tam giác có các cạnh ứng với 3 giá trị này. Nếu 3 giá trị này không lập thành tam giác thì thông báo, ngược lại thì tính và xuất ra chu vi và diện tích của nó.

Bài 3. Xây dựng lớp NhanVien theo yêu cầu sau: Giải bài 3-OOP

NhanVien
– maNV : String

– soSP : int

+ NhanVien()

+ NhanVien (ma: String, sp : int)

+ getMaNV() : String

+ setMaNV(ma : String) : void

+ getSoSP() : int

+ setSoSP(sp : int) : void

+ coVuotChuan() : boolean

+ getTongKet() : String

+ getLuong(): double

+ XuatTieuDe() : static void

+ toString() : String

 

Trong đó:

  • Trong các hàm khởi tạo và các hàm setSoSP, khi gán giá trị cho thuộc tính soSP thì cần kiểm tra giá trị đó có phải là số dương không, nếu là số dương thì mới gán giá trị cho thuộc tính, ngược lại thì gán bằng 0.
  • Hàm coVuotChuan() : trả về true nếu soSP > 500, ngược lại trả về false.

Giải thích: hàm này dùng để kiểm tra xem số lượng sản phẩm của nhân viên có vượt quá số lượng chuẩn hay không.

  • Hàm getTongKet() : trả về chữ “Vượt” khi soSP > 500, ngược lại để trống (có thể sử dụng hàm coVuotChuan() để kiểm tra).
  • Hàm getLuong() : trả về lương của một nhân viên, lương ăn theo sản phẩm với đơn giá cơ bản cho 1 sản phẩm là 20000, và nếu số sản phẩm của nhân viên vượt chuẩn thì phần vượt chuẩn được tính đơn giá là 30000.
  • Hàm XuatTieuDe() : xuất tiêu đề gồm các cột : mã nhân viên, số sản phẩm, lương, tổng kết.
  • Hàm toString() : trả về chuỗi chứa thông tin của nhân viên gồm các cột: Mã nhân viên (maNV), Số sản phẩm (soSP), Lương và Tổng kết.

Viết hàm main để kiểm tra lớp NhanVien theo yêu cầu sau: Tạo 2 nhân viên với các thuộc tính cho người dùng nhập vào. Xuất ra các thông tin của họ, gồm mã, số sản phẩm, lương, tổng kết.

 

3 responses

  1. Không có phần chữa bài tập hả admin ơi

    Thích

  2. có bài giải ở đường link bên cạnh đó tiêu đề bài tập đó bạn dầu nhớt ơi 😀

    Đã thích bởi 1 người

    1. Tks ad nhiều nhé. em đang bắt đầu học java mà thầy giao đúng bài tập này kkkk thầy thì mỗi buổi 1 bài mới :v

      Thích

Bình luận về bài viết này