Top 9 # Bài Tập Java Oop Có Lời Giải Xem Nhiều Nhất, Mới Nhất 5/2023 # Top Trend | Caffebenevietnam.com

Bài Tập Java Có Lời Giải

Bài tập Java có lời giải

Bài này cung cấp cho bạn danh sách các dạng bài tập khác nhau để bạn thực hành khi học java.

1. Bài tập java cơ bản

Trong phần này, bạn phải nắm được các kiến thức về:

Các mệnh đề if-else, switch-case.

Các vòng lặp for, while, do-while.

Các từ khóa break và continue trong java.

Các toán tử trong java.

Mảng (array) trong java.

File I/O trong java.

Xử lý ngoại lệ trong java.

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.

package vn.viettuts.baitap; import java.util.ArrayList; import java.util.List; public class Bai01 { public static void main(String[] args) { for (int i = 10; i < 201; i++) { if ((i % 7 == 0) && (i % 5 != 0)) { list.add(i); } } showList(list); } if (list != null && !list.isEmpty()) { int size = list.size(); for (int i = 0; i < size - 1; i++) { System.out.print(list.get(i) + ", "); } System.out.println(list.get(size - 1)); } } }

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.

Sử dụng đệ quy hoặc vòng lặp để tính giai thừa.

Code mẫu: sử dụng đệ quy

package vn.viettuts.baitap; import java.util.Scanner; public class GiaiThuaDemo2 { private static Scanner scanner = new Scanner(System.in); /** * main * * @author viettuts.vn * @param args */ public static void main(String[] args) { System.out.print("Nhập số nguyên dương n = "); int n = scanner.nextInt(); System.out.println("Giai thừa của " + n + " là: " + tinhGiaithua(n)); } /** * tinh giai thua * * @author viettuts.vn * @param n: so nguyen duong * @return giai thua cua so n */ public static long tinhGiaithua(int n) { return n * tinhGiaithua(n - 1); } else { return 1; } } }

Kết quả:

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

Sử dụng vòng lặp for để lặp i từ 1 đến n.

package vn.viettuts.baitap; import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class Bai03 { private static Scanner scanner = new Scanner(System.in); public static void main(String[] args) { System.out.print("Nhập số nguyên dương n = "); int n = scanner.nextInt(); for (int i = 1; i < n + 1; i++) { map.put(i, i * i); } System.out.println(map); } }

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.

package vn.viettuts.baitap; import java.util.Scanner; /** * Giải phương trình bậc 2 * * @author viettuts.vn */ public class PhuongTrinhBac2 { private static Scanner scanner = new Scanner(System.in); /** * main * * @param args */ public static void main(String[] args) { System.out.print("Nhập hệ số bậc 2, a = "); float a = scanner.nextFloat(); System.out.print("Nhập hệ số bậc 1, b = "); float b = scanner.nextFloat(); System.out.print("Nhập hằng số tự do, c = "); float c = scanner.nextFloat(); giaiPTBac2(a, b, c); } /** * Giải phương trình bậc 2: ax2 + bx + c = 0 * * @param a: hệ số bậc 2 * @param b: hệ số bậc 1 * @param c: số hạng tự do */ public static void giaiPTBac2(float a, float b, float c) { if (a == 0) { if (b == 0) { System.out.println("Phương trình vô nghiệm!"); } else { System.out.println("Phương trình có một nghiệm: " + "x = " + (-c / b)); } return; } float delta = b*b - 4*a*c; float x1; float x2; x1 = (float) ((-b + Math.sqrt(delta)) / (2*a)); x2 = (float) ((-b - Math.sqrt(delta)) / (2*a)); System.out.println("Phương trình có 2 nghiệm là: " + "x1 = " + x1 + " và x2 = " + x2); } else if (delta == 0) { x1 = (-b / (2 * a)); System.out.println("Phương trình có nghiệm kép: " + "x1 = x2 = " + x1); } else { System.out.println("Phương trình vô nghiệm!"); } } }

Kết quả:

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:

Tham khảo bảng ASCII để chuyển đổi kiểu char thành String. Hàm chr(55 + m) trong ví dụ sau:

Nếu m = 10 trả về chuỗi “A”.

Nếu m = 11 trả về chuỗi “B”.

Nếu m = 12 trả về chuỗi “C”.

Nếu m = 13 trả về chuỗi “D”.

Nếu m = 14 trả về chuỗi “E”.

Nếu m = 15 trả về chuỗi “F”.

package vn.viettuts.baitap; import java.util.Scanner; public class ConvertNumber { public static final char CHAR_55 = 55; private static Scanner scanner = new Scanner(System.in); /** * main * * @author viettuts.vn * @param args */ public static void main(String[] args) { System.out.print("Nhập số nguyên dương n = "); int n = scanner.nextInt(); System.out.println("So " + n + " trong he co so 2 = " + ConvertNumber.convertNumber(n, 2)); System.out.println("So " + n + " trong he co so 16 = " + ConvertNumber.convertNumber(n, 16)); } /** * chuyen doi so nguyen n sang he co so b * * @author viettuts.vn * @param n: so nguyen * @param b: he co so * @return he co so b */ public static String convertNumber(int n, int b) { return ""; } StringBuilder sb = new StringBuilder(); int m; int remainder = n; m = remainder % b; sb.append((char) (CHAR_55 + m)); } else { sb.append(m); } } else { sb.append(remainder % b); } remainder = remainder / b; } return sb.reverse().toString(); } }

Kết quả:

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:

package vn.viettuts.baitap; import java.util.Scanner; /** * Tính dãy số Fibonacci bằng phương pháp đệ quy * * @author viettuts.vn */ public class FibonacciExample2 { private static Scanner scanner = new Scanner(System.in); /** * main * * @param args */ public static void main(String[] args) { System.out.print("Nhập số nguyên dương n = "); int n = scanner.nextInt(); System.out.println(n + " số đầu tiên của dãy số fibonacci: "); for (int i = 0; i < n; i++) { System.out.print(fibonacci(i) + " "); } } /** * Tính số fibonacci thứ n * * @param n: chỉ số của số fibonacci tính từ 0 * vd: F0 = 0, F1 = 1, F2 = 1, F3 = 2 * @return số fibonacci thứ n */ public static int fibonacci(int n) { if (n < 0) { return -1; return n; } else { return fibonacci(n - 1) + fibonacci(n - 2); } } }

Kết quả:

Nhập số nguyên dương n = 12 12 số đầu tiên của dãy số fibonacci: 0 1 1 2 3 5 8 13 21 34 55 89

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.

package vn.viettuts.baitap; import java.util.Scanner; public class USCLL_BSCNN_1 { private static Scanner scanner = new Scanner(System.in); /** * main * * @param args */ public static void main(String[] args) { System.out.print("Nhập số nguyên dương a = "); int a = scanner.nextInt(); System.out.print("Nhập số nguyên dương b = "); int b = scanner.nextInt(); System.out.println("USCLN của " + a + " và " + b + " là: " + USCLN(a, b)); System.out.println("BSCNN của " + a + " và " + b + " là: " + BSCNN(a, b)); } /** * Tìm ước số chung lớn nhất (USCLN) * * @param a: số nguyên dương * @param b: số nguyên dương * @return USCLN của a và b */ public static int USCLN(int a, int b) { if (b == 0) return a; return USCLN(b, a % b); } /** * Tìm bội số chung nhỏ nhất (BSCNN) * * @param a: số nguyên dương * @param b: số nguyên dương * @return BSCNN của a và b */ public static int BSCNN(int a, int b) { return (a * b) / USCLN(a, b); } }

Kết quả:

Nhập số nguyên dương a = 10 Nhập số nguyên dương b = 24 USCLN của 10 và 24 là: 2 BSCNN của 10 và 24 là: 120

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.

package vn.viettuts.baitap; import java.util.Scanner; /** * Chương trình liệt kê tất cả các số nguyên tố nhỏ hơn n. * * @author viettuts.vn */ public class BaiTap08 { private static Scanner scanner = new Scanner(System.in); /** * main * * @param args */ public static void main(String[] args) { System.out.print("Nhập n = "); int n = scanner.nextInt(); System.out.printf("Tất cả các số nguyên tố nhỏ hơn %d là: n", n); System.out.print(2); } for (int i = 3; i < n; i+=2) { if (isPrimeNumber(i)) { System.out.print(" " + i); } } } /** * check so nguyen to * * @author viettuts.vn * @param n: so nguyen duong * @return true la so nguyen so, * false khong la so nguyen to */ public static boolean isPrimeNumber(int n) { if (n < 2) { return false; } int squareRoot = (int) Math.sqrt(n); for (int i = 2; i <= squareRoot; i++) { if (n % i == 0) { return false; } } return true; } }

Kết quả:

Nhập n = 100 Tất cả các số nguyên tố nhỏ hơn 100 là: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

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.

package vn.viettuts.baitap; import java.util.Scanner; /** * Chương trình liệt kê n số nguyên tố đầu tiên. * * @author viettuts.vn */ public class BaiTap09 { private static Scanner scanner = new Scanner(System.in); /** * main * * @param args */ public static void main(String[] args) { System.out.print("Nhập n = "); int n = scanner.nextInt(); System.out.printf("%d số nguyên tố đầu tiên là: n", n); int dem = 0; int i = 2; while (dem < n) { if (isPrimeNumber(i)) { System.out.print(i + " "); dem++; } i++; } } /** * check so nguyen to * * @author viettuts.vn * @param n: so nguyen duong * @return true la so nguyen so, * false khong la so nguyen to */ public static boolean isPrimeNumber(int n) { if (n < 2) { return false; } int squareRoot = (int) Math.sqrt(n); for (int i = 2; i <= squareRoot; i++) { if (n % i == 0) { return false; } } return true; } }

Kết quả:

Nhập n = 10 10 số nguyên tố đầu tiên là: 2 3 5 7 11 13 17 19 23 29

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.

package vn.viettuts.baitap; /** * Chương trình liệt kê tất cả số nguyên tố có 5 chữ số. * * @author viettuts.vn */ public class BaiTap10 { /** * main * * @param args */ public static void main(String[] args) { int count = 0; System.out.println("Liệt kê tất cả số nguyên tố có 5 chữ số:"); for (int i = 10001; i < 99999; i+=2) { if (isPrimeNumber(i)) { System.out.println(i); count++; } } System.out.println("Tổng các số nguyên tố có 5 chữ số là: " + count); } /** * check so nguyen to * * @author viettuts.vn * @param n: so nguyen duong * @return true la so nguyen so, * false khong la so nguyen to */ public static boolean isPrimeNumber(int n) { if (n < 2) { return false; } int squareRoot = (int) Math.sqrt(n); for (int i = 2; i <= squareRoot; i++) { if (n % i == 0) { return false; } } return true; } }

Kết quả:

Liệt kê tất cả số nguyên tố có 5 chữ số: 10007 10009 10037 ... 99971 99989 99991 Tổng các số nguyên tố có 5 chữ số là: 8363

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.

package vn.viettuts.baitap; import java.util.ArrayList; import java.util.List; import java.util.Scanner; /** * Chương trình phân tích số nguyên n thành các thừa số nguyên tố. * Ví dụ: 12 = 2 x 2 x 3. * * @author viettuts.vn */ public class BaiTap11 { private static Scanner scanner = new Scanner(System.in); /** * main * * @param args */ public static void main(String[] args) { System.out.print("Nhập số nguyên dương n = "); int n = scanner.nextInt(); System.out.printf("Kết quả: %d = ", n); int size = listNumbers.size(); for (int i = 0; i < size - 1; i++) { System.out.print(listNumbers.get(i) + " x "); } System.out.print(listNumbers.get(size - 1)); } /** * Phân tích số nguyên thành tích các thừa số nguyên tố * * @param positiveInt * @return */ int i = 2; if (n % i == 0) { n = n / i; listNumbers.add(i); } else { i++; } } if (listNumbers.isEmpty()) { listNumbers.add(n); } return listNumbers; } }

Kết quả:

Nhập số nguyên dương n = 100 Kết quả: 100 = 2 x 2 x 5 x 5

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

package vn.viettuts.baitap; import java.util.Scanner; /** * Chương trình tính tổng của các chữ số của môt số nguyên dương n. * Tổng của các chữ số của 6677 là 6 + 6 + 7 + 7 = 26. * * @author viettuts.vn */ public class BaiTap12 { private static Scanner scanner = new Scanner(System.in); public static int DEC_10 = 10; /** * main * * @param args */ public static void main(String[] args) { System.out.print("Nhập số nguyên dương n = "); int n = scanner.nextInt(); System.out.printf("Tổng của các chữ số " + "của %d là: %d", n, totalDigitsOfNumber(n)); } /** * Tính tổng của các chữ số của một số nguyên dương * * @param n: số nguyên dương * @return */ public static int totalDigitsOfNumber(int n) { int total = 0; do { total = total + n % DEC_10; n = n / DEC_10; return total; } }

Kết quả:

Nhập số nguyên dương n = 6677 Tổng của các chữ số của 6677 là: 26

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.

package vn.viettuts.baitap; import java.util.Scanner; /** * Chương trình liệt kê tất cả các số thuận nghịch có 6 chữa số. * * @author viettuts.vn */ public class BaiTap13 { private static Scanner scanner = new Scanner(System.in); /** * main * * @param args */ public static void main(String[] args) { System.out.print("Nhập số nguyên dương n = "); int n = scanner.nextInt(); System.out.println(n + " là số thuận nghịch: " + isThuanNghich(n)); System.out.print("Nhập số nguyên dương m = "); int m = scanner.nextInt(); System.out.println(n + " là số thuận nghịch: " + isThuanNghich(m)); } /** * Kiểm tra số thuận nghịch * * @param n: số nguyên dương * @return true là số thuận nghịch * false không là số thuận nghịch */ public static boolean isThuanNghich(int n) { String numberStr = String.valueOf(n); int size = numberStr.length(); for (int i = 0; i < (size/2); i++) { if (numberStr.charAt(i) != numberStr.charAt(size - i - 1)) { return false; } } return true; } }

Kết quả:

Nhập số nguyên dương n = 123321 123321 là số thuận nghịch: true Nhập số nguyên dương m = 123451 123321 là số thuận nghịch: false

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.

package vn.viettuts.baitap; import java.util.Scanner; /** * Chương trình liệt kê các số Fibonacci nhỏ hơn n là số nguyên tố. * Với n được nhập từ bàn phím. * * @author viettuts.vn */ public class BaiTap14 { private static Scanner scanner = new Scanner(System.in); /** * main * * @param args */ public static void main(String[] args) { System.out.print("Nhập số tự nhiên n = "); int n = scanner.nextInt(); System.out.printf("Các số fibonacci nhỏ hơn %d và " + "là số nguyên tố: ", n); int i = 0; while (fibonacci(i) < 100) { int fi = fibonacci(i); if (isPrimeNumber(fi)) { System.out.print(fi + " "); } i++; } } /** * Tính số fibonacci thứ n * * @param n: chỉ số của số fibonacci tính từ 0 * vd: F0 = 0, F1 = 1, F2 = 1, F3 = 2 * @return số fibonacci thứ n */ public static int fibonacci(int n) { if (n < 0) { return -1; return n; } else { return fibonacci(n - 1) + fibonacci(n - 2); } } /** * check so nguyen to * * @author viettuts.vn * @param n: so nguyen duong * @return true la so nguyen so, * false khong la so nguyen to */ public static boolean isPrimeNumber(int n) { if (n < 2) { return false; } int squareRoot = (int) Math.sqrt(n); for (int i = 2; i <= squareRoot; i++) { if (n % i == 0) { return false; } } return true; } }

Kết quả:

Nhập số tự nhiên n = 100 Các số fibonacci nhỏ hơn 100 và là số nguyên tố: 2 3 5 13 89

Các bài tập khác:

Viết chương trình nhập số nguyên dương n và thực hiện các chức năng sau: a) Tính tổng các chữ số của n. b) Phân tích n thành tích các thừa số nguyên tố. c) Liệt kê các ước số của n. d) Liệt kê các ước số là nguyên tố của n.

Viết chương trình liệt kệ các số nguyên có từ 5 đến 7 chữ số thảo mãn: a) Là số nguyên tố. b) Là số thuận nghịch. c) Mỗi chữ số đều là số nguyên tố. d) Tổng các chữ số là số nguyên tố.

Viết chương trình liệt kệ các số nguyên có 7 chữ số thảo mãn: a) Là số nguyên tố. b) Là số thuận nghịch. c) Mỗi chữ số đều là số nguyên tố. d) Tổng các chữ số là số thuận nghịch.

2. Bài tập chuỗi trong Java

Danh sách bài tập:

Nhập một sâu ký tự. Đếm số từ của sâu đó (mỗi từ cách nhau bởi một khoảng trắng có thể là một hoặc nhiều dấu cách, tab, xuống dòng). Ví dụ ” hoc java co ban den nang cao ” có 7 từ. Lời giải: Đếm số từ trong một chuỗi.

Nhập một sâu ký tự. Liệt kê số lần xuất hiện của các từ của sâu đó. Lời giải: Liệt kê số lần xuất hiện của các từ trong một chuỗi.

Nhập 2 sâu ký tự s1 và s2. Kiểm tra xem sâu s1 có chứa s2 không? Lời giải: Chuỗi chứa chuỗi trong java.

3. Bài tập mảng trong Java

Cá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:

Nhập một mảng số thực a0, a1, a2, …, an-1. Không dùng thêm mảng số thực nào khác (có thể dùng thêm mảng số nguyên), hãy in ra màn hình mảng trên theo thứ tự tăng dần.

Nhập 2 mảng số thực a0, a1, a2, …, am-1 và b0, b1, b2, …, bn-1. Giả sử 2 mảng này đã được sắp xếp tăng dần. Hãy tận dụng tính sắp xếp của 2 dãy và tạo dãy c0, c1, c2, …, cm+n-1 là hợp của 2 dãy trên sao cho ci cũng có thứ tự tăng dần. Lời giải: Trộn 2 mảng trong java

Viết chương trình nhập vào mảng A có n phần tử, các phần tử là số nguyên lớn hơn 0 và nhỏ hơn 100. Thực hiện các chức năng sau: a) Tìm phần tử lớn thứ nhất và lớn thứ 2 trong mảng với các chỉ số của chúng (chỉ số đầu tiên tìm được). b) Sắp xếp mảng theo thứ tự tăng dần. c) Nhập số nguyên x và chèn x vào mảng A sao cho vẫn đảm bảo tính tăng dần cho mảng A.

Viết chương trình nhập vào ma trận A có n dòng, m cột, các phần tử là số nguyên lớn hơn 0 và nhỏ hơn 100. Thực hiện các chức năng sau: a) Tìm phần tử lớn thứ nhất với chỉ số của nó (chỉ số đầu tiên tìm được). b) Tìm và in ra các phần tử là số nguyên tố của ma trận (các phần tử không nguyên tố thì thay bằng số 0). c) Sắp xếp tất cả các cột của ma trận theo thứ tự tăng dần và in kết quả ra màn hình. d) Tìm cột trong ma trận có nhiều số nguyên tố nhất.

4. Bài tập về các thuật toán sắp xếp trong Java

Bạ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

5. Bài tập java nâng cao

Trong phần này, bạn phải nắm được các kiến thức về:

Lớp và đối tượng trong java.

Access modifier trong java

Các tính chất của lập trình hướng đối tượng (OOP).

Các khái niệm Java OOPs.

Collection trong java.

Xử lý ngoại lệ trong java.

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:

/****************************************/ 1. Add student. 2. Edit student by id. 3. Delete student by id. 4. Sort student by gpa. 5. Sort student by name. 6. Show student. 0. Exit. /****************************************/

Lời giải: Bài tập quản lý sinh viên trong java – giao diện dòng lệnh

Bài tập quản lý sinh viên trong Java – Swing

Lời giải: Bài tập quản lý sinh viên trong java bằng Swing

Tổng Hợp Bài Tập Java Có Lời Giải

Để dễ dàng tiếp cận và làm quen với ngôn ngữ lập trình Java. VNCoder sẽ tổng hợp các bài tập thực hành Java mẫu có lời giải chi tiết. Đây là tài liệu tham khảo hữu ích để các bạn luyện tập, thành thạo cú pháp và cấu trúc của ngôn ngữ lập trình Java.

Các mệnh đề if-else, switch-case.

Các vòng lặp for, while, do-while.

Các từ khóa break và continue trong java.

Các toán tử trong java.

Mảng (array) trong java.

File I/O trong java.

Xử lý ngoại lệ trong java.

Các bài tập Java đều có hướng dẫn giải chi tiết, code tham khảo. Các bạn nên tự làm trước, nếu chưa hoàn thành thì có thể tham khảo gõ lại theo code mẫu, như vậy trình độ của các bạn sẽ lên nhanh chóng

Bài Tập Tự Luận Java Cơ Bản Có Lời Giải

Trong phần này, bạn phải nắm được các kiến thức về:

Các mệnh đề if-else, switch-case.

Các vòng lặp for, while, do-while.

Các từ khóa break và continue trong java.

Các toán tử trong java.

Mảng (array) trong java.

File I/O trong java.

Xử lý ngoại lệ trong java.

1. 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 ý: Sử dụng vòng lặp for

Code mẫu:

package vn.eLib.baitap; import java.util.ArrayList; import java.util.List; public class Bai01 { public static void main(String[] args) { List list = new ArrayList (); for (int i = 10; i list) { if (list != null && !list.isEmpty()) { int size = list.size(); for (int i = 0; i

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

2. 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 ý: Sử dụng đệ quy hoặc vòng lặp để tính giai thừa.

Code mẫu: sử dụng đệ quy

package vn.eLib.baitap; import java.util.Scanner; public class GiaiThuaDemo2 { private static Scanner scanner = new Scanner(System. in ); /** * main * * @author eLib.VN * @param args */ public static void main(String[] args) { System.out.print("Nhập số nguyên dương n = "); int n = scanner.nextInt(); System.out.println("Giai thừa của " + n + " là: " + tinhGiaithua(n)); } /** * tinh giai thua * * @author eLib.VN * @param n: so nguyen duong * @return giai thua cua so n */ public static long tinhGiaithua(int n) { return n * tinhGiaithua(n - 1); } else { return 1; } } }

Kết quả:

Nhập số nguyên dương n = 8 Giai thừa của 8 là: 40320

3. 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 ý: Sử dụng vòng lặp for để lặp i từ 1 đến n.

Code mẫu:

package vn.eLib.baitap; import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class Bai03 { private static Scanner scanner = new Scanner(System. in ); public static void main(String[] args) { System.out.print("Nhập số nguyên dương n = "); int n = scanner.nextInt(); Map map = new HashMap (); for (int i = 1; i

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 }

4. 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.eLib.baitap; import java.util.Scanner; /** * Giải phương trình bậc 2 * * @author viettuts.vn */ public class PhuongTrinhBac2 { private static Scanner scanner = new Scanner(System. in ); /** * main * * @param args */ public static void main(String[] args) { System.out.print("Nhập hệ số bậc 2, a = "); float a = scanner.nextFloat(); System.out.print("Nhập hệ số bậc 1, b = "); float b = scanner.nextFloat(); System.out.print("Nhập hằng số tự do, c = "); float c = scanner.nextFloat(); giaiPTBac2(a, b, c); } /** * Giải phương trình bậc 2: ax2 + bx + c = 0 * * @param a: hệ số bậc 2 * @param b: hệ số bậc 1 * @param c: số hạng tự do */ public static void giaiPTBac2(float a, float b, float c) { if (a == 0) { if (b == 0) { System.out.println("Phương trình vô nghiệm!"); } else { System.out.println("Phương trình có một nghiệm: " + "x = " + ( - c / b)); } return; } float delta = b * b - 4 * a * c; float x1; float x2; x1 = (float)(( - b + Math.sqrt(delta)) / (2 * a)); x2 = (float)(( - b - Math.sqrt(delta)) / (2 * a)); System.out.println("Phương trình có 2 nghiệm là: " + "x1 = " + x1 + " và x2 = " + x2); } else if (delta == 0) { x1 = ( - b / (2 * a)); System.out.println("Phương trình có nghiệm kép: " + "x1 = x2 = " + x1); } else { System.out.println("Phương trình vô nghiệm!"); } } }

Kết quả:

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

5. 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 10 là A = 10, B = 11, C = 12, D = 13, E = 14, F = 15.

Gợi ý:

Tham khảo bảng ASCII để chuyển đổi kiểu char thành String. Hàm chr(55 + m) trong ví dụ sau:

Nếu m = 10 trả về chuỗi “A”.

Nếu m = 11 trả về chuỗi “B”.

Nếu m = 12 trả về chuỗi “C”.

Nếu m = 13 trả về chuỗi “D”.

Nếu m = 14 trả về chuỗi “E”.

Nếu m = 15 trả về chuỗi “F”.

Code mẫu:

package vn.eLib.baitap; import java.util.Scanner; public class ConvertNumber { public static final char CHAR_55 = 55; private static Scanner scanner = new Scanner(System. in ); /** * main * * @author viettuts.vn * @param args */ public static void main(String[] args) { System.out.print("Nhập số nguyên dương n = "); int n = scanner.nextInt(); System.out.println("So " + n + " trong he co so 2 = " + ConvertNumber.convertNumber(n, 2)); System.out.println("So " + n + " trong he co so 16 = " + ConvertNumber.convertNumber(n, 16)); } /** * chuyen doi so nguyen n sang he co so b * * @author eLib.vn * @param n: so nguyen * @param b: he co so * @return he co so b */ public static String convertNumber(int n, int b) { if (n 16) { return ""; } StringBuilder sb = new StringBuilder(); int m; int remainder = n; m = remainder % b; sb.append((char)(CHAR_55 + m)); } else { sb.append(m); } } else { sb.append(remainder % b); } remainder = remainder / b; } return sb.reverse().toString(); } }

Kết quả:

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

6. Bài 06:

Code mẫu:

package vn.eLib.baitap; import java.util.Scanner; /** * Tính dãy số Fibonacci bằng phương pháp đệ quy * * @author viettuts.vn */ public class FibonacciExample2 { private static Scanner scanner = new Scanner(System. in ); /** * main * * @param args */ public static void main(String[] args) { System.out.print("Nhập số nguyên dương n = "); int n = scanner.nextInt(); System.out.println(n + " số đầu tiên của dãy số fibonacci: "); for (int i = 0; i

Kết quả: 

Nhập số nguyên dương n = 12 12 số đầu tiên của dãy số fibonacci: 0 1 1 2 3 5 8 13 21 34 55 89

7. 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 ý:

Sử dụng giải thuật Euclid.

Code mẫu:

package vn.eLib.baitap; import java.util.Scanner; public class USCLL_BSCNN_1 { private static Scanner scanner = new Scanner(System. in ); /** * main * * @param args */ public static void main(String[] args) { System.out.print("Nhập số nguyên dương a = "); int a = scanner.nextInt(); System.out.print("Nhập số nguyên dương b = "); int b = scanner.nextInt(); System.out.println("USCLN của " + a + " và " + b + " là: " + USCLN(a, b)); System.out.println("BSCNN của " + a + " và " + b + " là: " + BSCNN(a, b)); } /** * Tìm ước số chung lớn nhất (USCLN) * * @param a: số nguyên dương * @param b: số nguyên dương * @return USCLN của a và b */ public static int USCLN(int a, int b) { if (b == 0) return a; return USCLN(b, a % b); } /** * Tìm bội số chung nhỏ nhất (BSCNN) * * @param a: số nguyên dương * @param b: số nguyên dương * @return BSCNN của a và b */ public static int BSCNN(int a, int b) { return (a * b) / USCLN(a, b); } }

Kết quả:

Nhập số nguyên dương a = 10 Nhập số nguyên dương b = 24 USCLN của 10 và 24 là: 2 BSCNN của 10 và 24 là: 120

8. 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:

package vn.eLib.baitap; import java.util.Scanner; /** * Chương trình liệt kê tất cả các số nguyên tố nhỏ hơn n. * * @author viettuts.vn */ public class BaiTap08 { private static Scanner scanner = new Scanner(System. in ); /** * main * * @param args */ public static void main(String[] args) { System.out.print("Nhập n = "); int n = scanner.nextInt(); System.out.printf("Tất cả các số nguyên tố nhỏ hơn %d là: n", n); System.out.print(2); } for (int i = 3; i = 2 int squareRoot = (int) Math.sqrt(n); for (int i = 2; i

Kết quả:

Nhập n = 100 Tất cả các số nguyên tố nhỏ hơn 100 là: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

9. 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:

package vn.eLib.baitap; import java.util.Scanner; /** * Chương trình liệt kê n số nguyên tố đầu tiên. * * @author viettuts.vn */ public class BaiTap09 { private static Scanner scanner = new Scanner(System. in ); /** * main * * @param args */ public static void main(String[] args) { System.out.print("Nhập n = "); int n = scanner.nextInt(); System.out.printf("%d số nguyên tố đầu tiên là: n", n); int dem = 0; int i = 2; while (dem = 2 int squareRoot = (int) Math.sqrt(n); for (int i = 2; i

Kết quả:

Nhập n = 10 10 số nguyên tố đầu tiên là: 2 3 5 7 11 13 17 19 23 29

10. 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:

package vn.eLib.baitap; /** * Chương trình liệt kê tất cả số nguyên tố có 5 chữ số. * * @author eLib.vn */ public class BaiTap10 { /** * main * * @param args */ public static void main(String[] args) { int count = 0; System.out.println("Liệt kê tất cả số nguyên tố có 5 chữ số:"); for (int i = 10001; i = 2 int squareRoot = (int) Math.sqrt(n); for (int i = 2; i

Kết quả:

Liệt kê tất cả số nguyên tố có 5 chữ số: 10007 10009 10037 ... 99971 99989 99991 Tổng các số nguyên tố có 5 chữ số là: 8363

Tổng Hợp Bài Tập Javascript Có Code Mẫu

Nhằm giúp cho việc học JavaScript của các bạn dễ dàng hơn, chúng tôi đã tổng hợp một số bài tập JavaScript có kèm theo lời giải mẫu để các bạn thực hành.

Bài tập JavaScript 1: Cho người dùng nhập vào tên và tuổi. Hãy viết lại tên và tuổi của người đó ra màn hình bằng hàm document.write, trong đó tên có màu đậm, tuổi được gạch chân.

Giải mẫu

Bài tập JavaScript 2: Tạo một nút nhấn (button) có name là welcome, value là ” Welcome “. Một textbox có tên là msg, value = “Welcome to”.

Hướng dẫn: Sử dụng phương thức (hàm) write của đối tượng document để tạo.

Lưu ý quan trọng: Trong JavaScript, một hằng xâu được bao bởi cặp nháy đơn hoặc nháy kép, ví dụ các xâu: ‘nháy đơn’, “nháy kép” là những xâu hợp lệ, tuy nhiên bạn viết: ‘abc” hay “xyz’ là những xâu không hợp lệ. Trong trường hợp bạn muốn in chính bản thân dấu nháy đơn hoặc nháy kép ra màn hình thì bạn đặt trước nó một ký tự , ví dụ bạn có thể in ra màn hình dòng chữ: Women’s day ra màn hình bằng hai hàm alert và document theo các cách sau đây: alert(“Women’s day”), document.write(‘Women’s day’); alert(“Women”s day”); alert(‘Women”s day’); v.v…

Bài tập JavaScript 4: Lấy (đọc) giá trị của một phần tử HTML

Ví dụ: msg.value cho ta giá trị của text tên là msg.

Bài tập JavaScript 5: Khai báo hàm trong JavaScript và cách liên kết nút nhấn với một hàm

Tạo 2 phần tử như ví dụ 2, khi người dùng nhấn nút thì gọi một hàm có tên là HienThi, hàm hiển thị có chức năng hiển thị nội dung trong text có tên là msg ở trên.

Giải mẫu:

Lưu ý: Trong C, để khai báo một hàm thường bạn viết, ví dụ: int HienThi() v…v.. Tuy nhiên, với JavaScript có hơi khác tí chút, thay vào đó bạn viết function HienThi().

Bài tập JavaScript 6: Minh hoạ cách khai báo và sử dụng đối tượng Date trong JavaScript để hiển thị ngày giờ của hệ thống.

Hãy hiển thị ngày và giờ của hệ thống máy tính khi trang Web được nạp. Thông tin hiển thị ra có dạng như sau:

Sử dụng đối tượng Date và sử dụng các hàm lấy thứ, ngày, tháng, năm để in thông tin ra màn hình. Chú ý đến các hàm tính tháng, ngày trong tuần bị hụt một đơn vị.

Hiển thị Giờ và phút trong thanh tiêu đề của cửa sổ khi trang Web được nạp.

Cho người dùng nhập vào năm sinh của họ, sau đó hiển thị tuổi tương ứng.

Sử dụng đối tượng Date để lấy năm hiện tại. Tuổi sẽ bằng năm hiện tại trừ đi năm sinh vừa nhập vào.

Viết đoạn Script cho người dùng nhập vào một số nguyên. Nếu người dùng nhập số 1 thì mở trang Web https://quantrimang.com, nếu nhập số 2 thì mở trang https://download.com.vn, nếu nhập số 3 thì mở trang https://vndoc.com, còn nếu nhập một số khác với 1, 2 hay 3 thì mở trang https://meta.vn.

Để mở một trang Web bất kỳ trong cửa sổ hiện hành bạn viết như sau:

window.open(“Địa chỉ của trang cần mở”).

Như vậy, để giải quyết yêu cầu của bài toán trên, bạn cần cho người dùng nhập vào một số và sử dụng cấu trúc switch để kiểm tra và mở trang web tương ứng.

Minh hoạ việc khai báo và sử dụng biến đối tượng Array để lưu trữ danh sách và cách sử dụng các hàm của đối tượng Array như hàm sort và vòng lặp chúng tôi

Cho người dùng nhập vào danh sách tên của một lớp, sau đó sắp xếp theo vần Alphabet rồi hiển thị danh sách đã sắp xếp đó ra màn hình, mỗi người trên một dòng.

Nhận xét: Nếu muốn sắp theo chiều giảm dần thì sau khi sort bạn gọi hàm reverse.

“Các câu lệnh JavaScript” ở đây là bất kỳ câu lệnh JavaScript nào và chúng phải được cách nhau bởi dấu chấm phảy. Ngoài ra, các câu lệnh phải đặt trong cặp dấu nháy kép (Hoặc nháy đơn).

2: Thực hiện câu lệnh document.write(‘Welcome to JavaScript’);

3: Thực hiện NHIỀU câu lệnh JavaScript

4: Thực hiện nhiều câu lệnh JavaScript và có lời gọi đến hàm KiemTra(Tuoi)

5: Thực hiện câu lệnh gọi hàm KiemTra().

Để lấy giá trị của một phần tử HTML nào đó, chúng ta viết

– Hoten.value, DangKy.value, GioiTinh.value, Password.value v.v…

Khi muốn lấy giá trị của phần tử nào đó bằng JavaScript thì bạn phải đặt cho nó một cái tên, như ví dụ ở trên, để lấy giá trị trong hộp text ta đã đặt cho hộp text này tên (name) là HoTen.

Để thay đổi giá trị một thuộc tính nào đó của phần tử HTML, bạn viết theo cách sau:

HoTen.value = “Đây là văn bản mới”, DangKy.value = “Sign Up now”, v.v…

Lưu ý: – Giá trị lưu trong hộp text luôn là một xâu, do vậy để thực hiện phép cộng được đúng, bạn cần phải chuyển giá trị sang dạng số bằng hàm parseFloat (Hoặc parseInt) như ở trên.

– Việc thay đổi này có thể áp dụng cho các phần tử khác như button, checkbox, v.v…

Thuộc tính màu nền của tài liệu được lưu trong thuộc tính bgColor của đối tượng document. Thuộc tính này có thể thay đổi được.

Tạo một danh sách lựa chọn gồm có 4 màu: red, blue, brown và lavender. Khi người dùng chọn một màu thì màu nền của tài liệu sẽ thay đổi tương ứng.

Ở ví dụ trên, hàm kiểm tra sẽ được gọi mỗi khi sự kiện nhấn phím (onKeyUp) xuất hiện hay nói cách khác là khi người dùng gõ thêm một ký tự vào trong textarea.

: Khi người dùng di chuyển chuột vào phần tử nào thì hiển thị thông báo tương ứng dưới thanh trạng thái. Ví dụ nếu người sử dụng di chuyển chuột qua nút nhấn “Gửi” thì thanh trạng thái sẽ là “Bạn đang di chuyển chuột vào nút”…

Tạo 3 textbox, có tên lần lượt là: SoLuong (Số lượng), DonGia (Đơn giá) và ThanhTien (Thành tiền);

Khi người dùng nhập giá trị trong DonGia thì kết quả sẽ được cập nhật ngay trong ThanhTien.

Hướng dẫn: Khi người dùng nhập giá trị trong textbox DonGia bằng cách nhấn các phím số thì sự kiện nhấn phím xuất hiện (sự kiện nhấn phím có tên là onKeyUp), do vậy ta sẽ viết các lệnh đáp ứng với sự kiện này. Các lệnh ở đây chỉ có một do vậy nên đặt ngay trong định nghĩa thẻ, như sau:

Các thẻ có thuộc tính type = “hidden” sẽ không được hiển thị trong trình duyệt, tuy nhiên khi chúng ta “Submit” thì các thông tin trong đó cũng được gửi đi.

Bài tập JavaScript 26: Tạo một dòng văn bản “Welcome to CSS” có font chữ là Arial, in nghiêng và kích thước font chữ là 16 point.

Bài tập JavaScript 27: Tạo một textbox với màu nền là màu tím (magenta).

-Khi ta đặt là repeat-x thì ta có một dãy ảnh được xếp liên tiếp theo chiều ngang

-Khi ta đặt là repeat-y thì ta có một dãy ảnh được xếp liên tiếp theo chiều dọc

Khi muốn áp dụng các kiểu cho một số phần tử các bạn chỉ cần viết : style=”Tên_Thuộc_tính : Giá_Trị;” trong định nghĩa thẻ. Trong đó cặp “Tên_Thuộc_tính : Giá_Trị;” có thể viết như cột ví dụ đã chỉ ra ở các bảng trên.

Nội dung trang Web của chúng ta bây giờ sẽ là:

Yêu cầu: Tạo một liên kết đến trang https://quantrimang.com/ bằng thẻ H2. Có màu nền là xanh, màu chữ là trắng. Khi chuột di chuyển đến thì đổi màu nền thành màu đỏ.

Hướng dẫn: Để đổi màu nền thành đỏ đối với thẻ H2 (hoặc thẻ bất kỳ) bạn viết:

document.all.LienKet.style.backgroundColor = ‘red’

Trong đó LienKet là giá trị của thuộc tính ID.

J Câu lệnh JavaScript này đặt ở đâu?

@ Theo như yêu cầu đầu bài là: “Khi chuột di chuyển…”. Do vậy câu lệnh này sẽ được đặt trong sự kiện di chuyển chuột đến (có tên là onMouseMove)

Yêu cầu: Như bài 30, và thêm yêu cầu sau: Khi người dùng di chuyển chuột ra khỏi phần tử H2 đó thì đặt lại màu nền là màu xanh.

Hướng dẫn: Viết lệnh thay đổi màu nền thành xanh trong sự kiện di chuột ra ngoài.

Tạo một tầng gồm có dòng chữ “Welcome to LAYER!”, màu đỏ, kích thước 40pt, font chữ Arial. Toàn bộ dòng chữ này có độ rộng (width) là 300px.

Hướng dẫn: Việc tạo tầng và đặt các thuộc tính có thể đặt thông qua định nghĩa STYLE.

Để ẩn hay hiện tầng bạn viết:

document.all.LienKet.style.visibility = ‘visible’ (hoặc ‘hidden’)

Bài tập tự giải 34′: Tạo một hệ thống menu phân tầng như hình:

Minh hoạ thay đổi thuộc tính innerHTML

Minh hoạ thay thế thuộc tính outerText.

Để mở một trang web trong một cửa sổ mới, bạn viết: window.open(“Địa chỉ URL của trang cần mở”, “_Blank”)

Thay thế nút bằng một dòng chữ thông qua thay đổi thuộc tính outerText của nút.

Minh họa việc định vị động trong IE

Yêu cầu: Tạo một nút có nhãn là “Đăng ký”. Khi chuột di chuyển trong nút này thì hiển thị dòng nhắc là “Đăng ký địa chỉ email mới” có màu nền là vàng tại vị trí của con chuột. Khi chuột di chuyển ra ngoài thì dòng nhắc ẩn đi.

Hướng dẫn: Bạn tạo ra một tầng chứa dòng chữ “Đăng ký hòm thư mới” có màu nền là vàng. Khi chuột di chuyển đến (onMouseMove) thì đặt thuộc tính visibility là ‘visible’ để cho hiện tầng đó và khi di chuyển chuột ra ngoài (onMouseOut) thì đặt lại thuộc tính visibility là ‘hidden’ để ẩn tầng. Lưu ý, vị trí của chuột được lưu trong thuộc tính event.clientX và event.clientY. Bạn sẽ gán vị trí này của chuột cho 2 thuộc tính pixelLeft và pixelTop để định vị tầng.

Yêu cầu: Tạo một tầng có tên là Tang1, một nút nhấn có nhãn là “Load trang Web” và một hộp text có tên là DiaChi. Khi người dùng nhập địa chỉ vào trong hộp text và nhấn nút “Load trang web” thì nội dung của trang đó sẽ được nạp vào tầng Tang1.

– Dùng thẻ LAYER để tạo tầng và đặt tên cho nó là Tang1

– Viết trong sự kiện onCLick của nút “Nạp trang web” câu lệnh nạp tài liệu vào tầng. Cú pháp nạp tài liệu vào một tầng trong Netscape như sau:

document.Tang1.src = document.form1.DiaChi.value

BÀI TẬP JAVASCRIPT TỰ GIẢI

Tạo một thẻ H1, màu chữ xanh dùng để hiển thị thời gian của hệ thống (gồm giờ:phút:giây).

Gợi ý: Sử dụng 2 hàm setInterval để gọi 2 hàm di chuyển 2 tầng.

Tạo 3 tầng (Trong Netscape), mỗi tầng nạp một trang tương ứng như sau: https://vndoc.com, https://quantrimang.com và https://meta.vn.

Bài số 8: Hãy tạo ra trang Web có giao diện như sau:

Khi người dùng di chuyển chuột đến phần tử nào thì hiển thị dòng nhắc dưới thanh trạng thái để hướng dẫn người dùng. Ví dụ: Khi người dùng đưa chuột vào trong ô textbox User Name thì thì hiển thị dưới thanh trạng thái là: “Nhập mã người dùng”, hay khi người đưa chuột đến nút “Đăng ký” thì hiển thị dòng nhắc: “Gửi thông tin đi để đăng ký” v.v…

Nút đăng ký nên là nút thường, tức là tạo bằng thẻ:

Khi gửi thông tin đi, cần kiểm tra xem nội dung người dùng gõ trong ô Password với textbox trong ô “Gõ lại password” có giống nhau hay không? Nếu bằng nhau thì mới gửi (Submit) đi, còn nếu không bằng thì thông báo là “Password phải giống nhau”

Khi gửi thông tin, cần kiểm tra ngày sinh, tháng sinh phải hợp lệ. (Tức ngày phải nhỏ hơn 32, tháng phải nhỏ hơn 13)

Nút đăng ký nên là nút thường, tức là tạo bằng thẻ:

Bài số 10:

Làm tương tự bài tập 7 và 8, nhưng thêm yêu cầu: Khi người dùng nhập hoặc số lượng, hoặc đơn giá thì hãy tính luôn ô textbox thành tiền.

Hướng dẫn: Viết lệnh tính thành tiền trong cả 2 sự kiện onKeyUp của cả hai textbox số lượng và textbox đơn giá.

Bài số 11: Hãy tạo một menu đặt theo chiều dọc gồm 4 mục như sau:

Yêu cầu: 4 mục này có màu nền là xanh, màu chữ là vàng (yellow). Khi người dùng di chuyển đến mục nào thì mục đó có màu nền là màu đỏ. Khi di chuyển chuột ra khỏi thì màu nền trở lại màu xanh.

Gợi ý: Làm tương tự như bài tập mẫu, nhưng tạo ra 4 thẻ H2.

Bài số 11: Hãy tạo một menu gồm 4 mục như ở trên nhưng theo chiều ngang,