Bài tập java từ cơ bản đến nâng cao
Chúng ta đã được tiếp cận đến những bài tập Java cơ bản ở những bài viết trước. Tại bài viết này mình sẽ chia sẻ thêm cho các bạn những bài tập Java cơ bản đến nâng cao cho những người mới tiếp cận với khái niệm lập trình hướng đối tượng nhé! Show \>> Xem ngay Tài liệu Java Core giúp bạn “Nâng Cấp” kỹ năng lập trình Bài tập Java cơ bản đến nâng caoĐề bàiDưới đây mình có một số bài tập về OOP để các bạn có thể luyện tập thêm kiến thức về hướng đối tượng. Các bạn tham khảo nhé. Bài tập 1:
Bài tập 2:
Bài tập 3:
Lời giảiSau khi các bạn đã thử sức làm xong các bài tập nhỏ nhỏ ở phía bên trên thì hãy cùng xem lại các bài tập đó với lời giải của mình nhé Note: Trước khi xem lời giải thì các bạn hãy tự làm trước nhé và hãy common hóa (phân tách thành phương thức riêng) những gì có thể sử dụng lại được.
1. Bài tập java cơ bảnTrong phần này, bạn phải nắm được các kiến thức về:
Bài 01: Viết chương trình tìm tất cả các số chia hết cho 7 nhưng không phải bội số của 5, nằm trong đoạn 10 và 200 (tính cả 10 và 200). Các số thu được sẽ được in thành chuỗi trên một dòng, cách nhau bằng dấu phẩy. Gợi ý:
Code mẫu: package vn.viettuts.baitap; import java.util.ArrayList; import java.util.List; public class Bai01 { }
Kết quả: 14, 21, 28, 42, 49, 56, 63, 77, 84, 91, 98, 112, 119, 126, 133, 147, 154, 161, 168, 182, 189, 196 Bài 02: Viết một chương trình tính giai thừa của một số nguyên dương n. Với n được nhập từ bàn phím. Ví dụ, n = 8 thì kết quả đầu ra phải là 1*2*3*4*5*6*7*8 = 40320. Gợi ý:
Code mẫu: sử dụng đệ quy package vn.viettuts.baitap; import java.util.Scanner; public class GiaiThuaDemo2 {
Nhập số nguyên dương n = 8 Giai thừa của 8 là: 40320 Bài 03: Hãy viết chương trình để tạo ra một map chứa (i, i*i), trong đó i là số nguyên từ 1 đến n (bao gồm cả 1 và n), n được nhập từ bàn phím. Sau đó in map này ra màn hình. Ví dụ: Giả sử số n là 8 thì đầu ra sẽ là: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64}. Gợi ý:
Code mẫu: package vn.viettuts.baitap; import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class Bai03 { }
Kết quả: Nhập số nguyên dương n = 10 {1=1, 2=4, 3=9, 4=16, 5=25, 6=36, 7=49, 8=64, 9=81, 10=100} Bài 04: Viết chương trình giải phương trình bậc 2: ax2 + bx + c = 0. Code mẫu: package vn.viettuts.baitap; import java.util.Scanner; /
Nhập hệ số bậc 2, a = 2 Nhập hệ số bậc 1, b = 1 Nhập hằng số tự do, c = -1 Phương trình có 2 nghiệm là: x1 = 0.5 và x2 = -1.0 Bài 05: Viết chương trình chuyển đổi một số tự nhiên ở hệ số 10 thành một số ở hệ cơ số B (1 <= B <= 32) bất kỳ. Giả sử hệ cơ số cần chuyển là 2 <= B <= 16. Số đại điện cho hệ cơ số B > 10 là A = 10, B = 11, C = 12, D = 13, E = 14, F = 15. Gợi ý:
Code mẫu: package vn.viettuts.baitap; import java.util.Scanner; public class ConvertNumber {
Nhập số nguyên dương n = 15 So 15 trong he co so 2 = 1111 So 15 trong he co so 16 = F Bài 06: Dãy số Fibonacci được định nghĩa như sau: F0 = 0, F1 = 1, F2 = 1, Fn = F(n-1) + F(n-2) với n >= 2. Ví dụ: 0, 1, 1, 2, 3, 5, 8, ... Hãy viết chương trình tìm n số Fibonacci đầu tiên. Code mẫu: 14, 21, 28, 42, 49, 56, 63, 77, 84, 91, 98, 112, 119, 126, 133, 147, 154, 161, 168, 182, 189, 196 0 Kết quả: 14, 21, 28, 42, 49, 56, 63, 77, 84, 91, 98, 112, 119, 126, 133, 147, 154, 161, 168, 182, 189, 196 1 Bài 07: Viết chương trình tìm ước số chung lớn nhất (USCLN) và bội số chung nhỏ nhất (BSCNN) của hai số nguyên dương a và b nhập từ bàn phím. Gợi ý:
Code mẫu: 14, 21, 28, 42, 49, 56, 63, 77, 84, 91, 98, 112, 119, 126, 133, 147, 154, 161, 168, 182, 189, 196 2 Kết quả: 14, 21, 28, 42, 49, 56, 63, 77, 84, 91, 98, 112, 119, 126, 133, 147, 154, 161, 168, 182, 189, 196 3 Bài 08: Viết chương trình liệt kê tất cả các số nguyên tố nhỏ hơn n. Số nguyên dương n được nhập từ bàn phím. Code mẫu: 14, 21, 28, 42, 49, 56, 63, 77, 84, 91, 98, 112, 119, 126, 133, 147, 154, 161, 168, 182, 189, 196 4 Kết quả: 14, 21, 28, 42, 49, 56, 63, 77, 84, 91, 98, 112, 119, 126, 133, 147, 154, 161, 168, 182, 189, 196 5 Bài 09: Viết chương trình liệt kê n số nguyên tố đầu tiên trong java. Số nguyên dương n được nhập từ bàn phím. Code mẫu: 14, 21, 28, 42, 49, 56, 63, 77, 84, 91, 98, 112, 119, 126, 133, 147, 154, 161, 168, 182, 189, 196 6 Kết quả: 14, 21, 28, 42, 49, 56, 63, 77, 84, 91, 98, 112, 119, 126, 133, 147, 154, 161, 168, 182, 189, 196 7 Bài 10: Viết chương trình liệt kê tất cả số nguyên tố có 5 chữ số trong java. Code mẫu: 14, 21, 28, 42, 49, 56, 63, 77, 84, 91, 98, 112, 119, 126, 133, 147, 154, 161, 168, 182, 189, 196 8 Kết quả: 14, 21, 28, 42, 49, 56, 63, 77, 84, 91, 98, 112, 119, 126, 133, 147, 154, 161, 168, 182, 189, 196 9 Bài 11: Viết chương trình phân tích số nguyên n thành các thừa số nguyên tố trong java. Ví dụ: 100 = 2x2x5x5. Code mẫu: package vn.viettuts.baitap; import java.util.Scanner; public class GiaiThuaDemo2 {
Kết quả: package vn.viettuts.baitap; import java.util.Scanner; public class GiaiThuaDemo2 {
Bài 12: Viết chương trình tính tổng của các chữ số của môt số nguyên n trong java. Số nguyên dương n được nhập từ bàn phím. Với n = 1234, tổng các chữ số: 1 + 2 + 3 + 4 = 10 Code mẫu: package vn.viettuts.baitap; import java.util.Scanner; public class GiaiThuaDemo2 {
Kết quả: package vn.viettuts.baitap; import java.util.Scanner; public class GiaiThuaDemo2 {
Bài 13: Viết chương trình kiểm tra một số n là số thuận nghịch trong java. Số nguyên dương n được nhập từ bàn phím. Code mẫu: package vn.viettuts.baitap; import java.util.Scanner; public class GiaiThuaDemo2 {
Kết quả: package vn.viettuts.baitap; import java.util.Scanner; public class GiaiThuaDemo2 {
Bài 14: Viết chương trình liệt kê các số Fibonacci nhỏ hơn n là số nguyên tố trong java. N là số nguyên dương được nhập từ bàn phím. Code mẫu: package vn.viettuts.baitap; import java.util.Scanner; public class GiaiThuaDemo2 {
Kết quả: package vn.viettuts.baitap; import java.util.Scanner; public class GiaiThuaDemo2 {
Các bài tập khác:
2. Bài tập chuỗi trong JavaDanh sách bài tập:
3. Bài tập mảng trong JavaCác bài tập trong phần này thao tác với mảng một chiều và 2 chiều trong java, bạn có thể tham khảo bài học mảng (Array) trong java Danh sách bài tập:
4. Bài tập về các thuật toán sắp xếp trong JavaBạn có thể xem các giải thuật sắp xếp trong phần cấu trúc dữ liệu và giải thuật: Giải thuật sắp xếp Dưới đây là tổng hợp một số bài tập thuật toán sắp xếp trong Java:
5. Bài tập java nâng caoTrong phần này, bạn phải nắm được các kiến thức về:
Bài tập quản lý sinh viên trong Java - consoleĐề bài: Viết chương trình quản lý sinh viên. Mỗi đối tượng sinh viên có các thuộc tính sau: id, name, age, address và gpa (điểm trung bình). Yêu cầu: tạo ra một menu với các chức năng sau: |