BÀI TẬP VỀ CLASS TRONG JAVA

  -  

bài xích tập Java có lời giải

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

*

Note: trước lúc xem lời giải thì chúng ta hãy tự có tác dụng trước nhé và hãy common hóa (phân tách thành phương thức riêng) hồ hết gì rất có thể sử dụng lại được.


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

trong phần này, chúng ta phải chũm được các kiến thức về: các mệnh đề if-else, switch-case. những vòng lặp for, while, do-while. những từ khóa break cùng continue trong java. những toán tử trong java. Mảng (array) trong java. file I/O vào java. cách xử trí ngoại lệ vào java. bài xích 01:

Viết công tác tìm tất cả các số phân tách hết cho 7 nhưng chưa phải bội số của 5, bên trong đoạn 10 cùng 200 (tính cả 10 với 200). Các số thu được sẽ được in thành chuỗi bên trên một dòng, biện pháp nhau bởi dấu phẩy.

Gợi ý:

thực hiện vòng lặp for

Code mẫu:


package vn.hostingvietnam.vn.baitap;import java.util.ArrayList;import java.util.List;public class Bai01 { public static void main(String<> args) { menu list = new ArrayList(); for (int i = 10; i list) { if (list != null && !list.isEmpty()) { int form 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
bài bác 02:

Viết một lịch trình tính giai thừa của một số trong những 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 yêu cầu là 1*2*3*4*5*6*7*8 = 40320.

Gợi ý:

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

Code mẫu: áp dụng đệ quy


package vn.hostingvietnam.vn.baitap;import java.util.Scanner;public class GiaiThuaDemo2 private static Scanner scanner = new Scanner(System.in); /** * main * *
author hostingvietnam.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 đại bại * *
author hostingvietnam.vn *
param n: so nguyen duong *
return giai thua trận cua so n */ public static long tinhGiaithua(int n) if (n > 0) return n * tinhGiaithua(n - 1); else return 1;
Kết quả:


Nhập số nguyên dương n = 8Giai vượt của 8 là: 40320
bài xích 03:

Hãy viết chương trình để tạo thành một map đựng (i, i*i), trong đó i là số nguyên từ là 1 đến n (bao bao gồm cả 1 với n), n được nhập từ bỏ bàn phím. Sau đó in maps này ra màn hình. Ví dụ: mang sử số n là 8 thì cổng đầu ra sẽ là: 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64.

Gợi ý:

áp dụng vòng lặp for nhằm lặp i từ 1 đến n.

Code mẫu:


package vn.hostingvietnam.vn.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(); bản đồ map = new HashMap(); for (int i = 1; i
Kết quả:


Nhập số nguyên dương n = 101=1, 2=4, 3=9, 4=16, 5=25, 6=36, 7=49, 8=64, 9=81, 10=100
bài xích 04:

Viết công tác giải phương trình bậc 2: ax2 + bx + c = 0.

Code mẫu:


package vn.hostingvietnam.vn.baitap; import java.util.Scanner; /** * Giải phương trình bậc 2 * *
author hostingvietnam.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 thông 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 thoải mái */ public static void giaiPTBac2(float a, float b, float c) // kiểm tra những hệ số if (a == 0) if (b == 0) System.out.println("Phương trình vô nghiệm!"); else System.out.println("Phương trình gồm một nghiệm: " + "x = " + (-c / b)); return; // tính delta float delta = b*b - 4*a*c; float x1; float x2; // tính nghiệm if (delta > 0) x1 = (float) ((-b + Math.sqrt(delta)) / (2*a)); x2 = (float) ((-b - Math.sqrt(delta)) / (2*a)); System.out.println("Phương trình tất cả 2 nghiệm là: " + "x1 = " + x1 + " với x2 = " + x2); else if (delta == 0) x1 = (-b / (2 * a)); System.out.println("Phương trình bao gồm nghiệm kép: " + "x1 = x2 = " + x1); else System.out.println("Phương trình vô nghiệm!");
Kết quả:


Nhập thông số bậc 2, a = 2Nhập thông số bậc 1, b = 1Nhập hằng số từ bỏ do, c = -1Phương trình có 2 nghiệm là: x1 = 0.5 và x2 = -1.0
bài xích 05:

Viết chương trình biến hóa một số thoải mái và tự nhiên ở hệ số 10 thành một trong những ở hệ cơ số B (1 10 là A = 10, B = 11, C = 12, D = 13, E = 14, F = 15.

Gợi ý:

trường hợp m = 10 trả về chuỗi "A". trường hợp m = 11 trả về chuỗi "B". giả dụ m = 12 trả về chuỗi "C". ví như m = 13 trả về chuỗi "D". nếu như m = 14 trả về chuỗi "E". nếu m = 15 trả về chuỗi "F".

Code mẫu:


package vn.hostingvietnam.vn.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 hostingvietnam.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 + " vào he teo 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 thanh lịch he teo so b * *
author hostingvietnam.vn *
param n: so nguyen *
param b: he teo 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; while (remainder > 0) if (b > 10) m = remainder % b; if (m >= 10) 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 = 15So 15 trong he teo so 2 = 1111So 15 trong he teo so 16 = F
bài 06:

dãy số Fibonacci được quan niệm 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 lịch trình tìm n số Fibonacci đầu tiên.

Code mẫu:


package vn.hostingvietnam.vn.baitap;import java.util.Scanner;/*** Tính dãy số Fibonacci bằng phương pháp đệ quy* *
author hostingvietnam.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 hàng số fibonacci: "); for (int i = 0; i
Kết quả:


Nhập số nguyên dương n = 1212 số thứ nhất của dãy số fibonacci: 0 1 1 2 3 5 8 13 21 34 55 89
bài 07:

Viết lịch trình tìm cầu số chung lớn số 1 (USCLN) và bội số chung bé dại nhất (BSCNN) của hai số nguyên dương a và b nhập từ bỏ bàn phím.

Gợi ý:

Code mẫu:


package vn.hostingvietnam.vn.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(); // tính USCLN của a và b System.out.println("USCLN của " + a + " và " + b + " là: " + USCLN(a, b)); // tính BSCNN của a cùng b System.out.println("BSCNN của " + a + " cùng " + b + " là: " + BSCNN(a, b)); /** * Tìm cầu số chung lớn số 1 (USCLN) * *
param a: số nguyên dương *
param b: số nguyên dương *
return USCLN của a với 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ỏ dại nhất (BSCNN) * *
param a: số nguyên dương *
param b: số nguyên dương *
return BSCNN của a cùng 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 = 10Nhập số nguyên dương b = 24USCLN của 10 cùng 24 là: 2BSCNN của 10 với 24 là: 120
bài bác 08:

Viết công tác liệt kê toàn bộ các số nguyên tố nhỏ tuổi hơn n. Số nguyên dương n được nhập trường đoản cú bàn phím.

Bạn đang xem: Bài tập về class trong java

Code mẫu:


package vn.hostingvietnam.vn.baitap; import java.util.Scanner; /** * công tác liệt kê toàn bộ các số nguyên tố nhỏ tuổi hơn n. * *
author hostingvietnam.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ả những số nguyên tố nhỏ tuổi hơn %d là: ", n); if (n >= 2) 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 = 100Tất cả những 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 lịch trình liệt kê n số nguyên tố thứ nhất trong java. Số nguyên dương n được nhập từ bàn phím.

Code mẫu:


package vn.hostingvietnam.vn.baitap; import java.util.Scanner; /** * chương trình liệt kê n số nhân tố đầu tiên. * *
author hostingvietnam.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ố trước tiên là: ", n); int dem = 0; // đếm số số thành phần int i = 2; // tìm kiếm số yếu tố bắt dầu từ số 2 while (dem = 2 int squareRoot = (int) Math.sqrt(n); for (int i = 2; i
Kết quả:


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

Viết công tác liệt kê tất cả số nguyên tố có 5 chữ số trong java.

Xem thêm: Một Số Cách Chặn Web Bằng File Host S Trên Windows Cực, Chặn Web Đen Bằng File Host

Code mẫu:


package vn.hostingvietnam.vn.baitap; /** * lịch trình liệt kê toàn bộ số nguyên tố bao gồm 5 chữ số. * *
author hostingvietnam.vn */public class BaiTap10 { /** * main * *
param args */ public static void main(String<> args) { int count = 0; System.out.println("Liệt kê toàn bộ 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ả:


bài 11:

Viết công tác phân tích số nguyên n thành các thừa số yếu tắc trong java. Ví dụ: 100 = 2x2x5x5.

Code mẫu:


package vn.hostingvietnam.vn.baitap; import java.util.ArrayList;import java.util.List;import java.util.Scanner; /** * lịch trình phân tích số nguyên n thành những thừa số nguyên tố. * Ví dụ: 12 = 2 x 2 x 3. * *
author hostingvietnam.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(); // phân tích số nguyên dương n danh sách listNumbers = phanTichSoNguyen(n); // in công dụng ra màn hình System.out.printf("Kết quả: %d = ", n); int kích cỡ = listNumbers.size(); for (int i = 0; i phanTichSoNguyen(int n) int i = 2; list listNumbers = new ArrayList(); // so sánh while (n > 1) if (n % i == 0) n = n / i; listNumbers.add(i); else i++; // giả dụ listNumbers trống thì showroom n vào listNumbers if (listNumbers.isEmpty()) listNumbers.add(n); return listNumbers;
Kết quả:


Nhập số nguyên dương n = 100Kết quả: 100 = 2 x 2 x 5 x 5
bài xích 12:

Viết lịch trình tính tổng của những chữ số của môt số nguyên n vào java. Số nguyên dương n được nhập trường đoản cú bàn phím. Với n = 1234, tổng các chữ số: 1 + 2 + 3 + 4 = 10

Code mẫu:


package vn.hostingvietnam.vn.baitap; import java.util.Scanner; /** * lịch trình tính tổng của những chữ số của môt số nguyên dương n. * Tổng của những chữ số của 6677 là 6 + 6 + 7 + 7 = 26. * *
author hostingvietnam.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 những chữ số " + "của %d là: %d", n, totalDigitsOfNumber(n)); /** * Tính tổng của các chữ số của một vài nguyên dương * *
param n: số nguyên dương *
return */ public static int totalDigitsOfNumber(int n) int total = 0; vì total = total + n % DEC_10; n = n / DEC_10; while (n > 0); return total;
Kết quả:


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

Viết lịch trình kiểm tra một vài n là số thuận nghịch trong java. Số nguyên dương n được nhập từ bỏ bàn phím.

Code mẫu:


package vn.hostingvietnam.vn.baitap;import java.util.Scanner;/** * chương trình liệt kê tất cả các số thuận nghịch tất cả 6 trị số. * *
author hostingvietnam.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)); /** * bình chọn số thuận nghịch * *
param n: số nguyên dương *
return true là số thuận nghịch * false ko là số thuận nghịch */ public static boolean isThuanNghich(int n) { // biến đổi số n thành một chuỗi String String numberStr = String.valueOf(n); // đánh giá tính thuận nghịch int kích cỡ = numberStr.length(); for (int i = 0; i
Kết quả:


Nhập số nguyên dương n = 123321123321 là số thuận nghịch: trueNhập số nguyên dương m = 123451123321 là số thuận nghịch: false
bài 14:

Viết lịch trình liệt kê các số Fibonacci bé dại hơn n là số nguyên tố trong java. N là số nguyên dương được nhập từ bỏ bàn phím.

Code mẫu:


package vn.hostingvietnam.vn.baitap; import java.util.Scanner; /** * lịch trình liệt kê những số Fibonacci nhỏ hơn n là số nguyên tố. * với n được nhập từ bỏ bàn phím. * *
author hostingvietnam.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ố thoải mái và tự nhiên n = "); int n = scanner.nextInt(); System.out.printf("Các số fibonacci nhỏ tuổi hơn %d với " + "là số nguyên tố: ", n); int i = 0; while (fibonacci(i) = 2 int squareRoot = (int) Math.sqrt(n); for (int i = 2; i
Kết quả:


Nhập số tự nhiên và thoải mái n = 100Cá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à tiến hành các tác dụng sau: a) Tính tổng các chữ số của n. B) đối chiếu n thành tích những thừa số nguyên tố. C) Liệt kê những ước số của n. D) Liệt kê các ước số là yếu tắc của n. Viết chương trình liệt kệ các số nguyên bao gồm từ 5 mang lại 7 chữ số thảo mãn: a) Là số nguyên tố. B) Là số thuận nghịch. C) từng chữ số phần lớn là số nguyên tố. D) Tổng những chữ số là số nguyên tố. Viết công tác liệt kệ các số nguyên bao gồm 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ố phần lớn là số nguyên tố. D) Tổng các chữ số là số thuận nghịch.

Xem thêm: Tên Tiếng Anh Của Bạn Tên Gì Dịch Sang Tiếng Anh Để Xem Tên Bạn Là Gì

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

Danh sách bài tập:


3. Bài xích tập mảng vào Java

những bài tập vào phần này làm việc với mảng một chiều và 2 chiều trong java, chúng ta có thể tham khảo bài học kinh nghiệm 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 cần sử dụng thêm mảng số thực nào không giống (có thể cần sử dụng thêm mảng số nguyên), hãy in ra màn hình hiển thị mảng bên trên theo trang bị tự tăng dần. Viết lịch trình nhập vào mảng A tất cả n phần tử, các phần tử là số nguyên lớn hơn 0 và nhỏ dại hơn 100. Thực hiện các tính năng sau: a) Tìm phần tử lớn đầu tiên và lớn thứ 2 trong mảng với những chỉ số của chúng (chỉ số thứ nhất tìm được). B) sắp xếp mảng theo đồ vật tự tăng dần. C) Nhập số nguyên x cùng chèn x vào mảng A thế nào cho vẫn bảo đảm an toàn tính tăng ngày một nhiều cho mảng A. Viết chương trình nhập vào ma trận A tất cả n dòng, m cột, các bộ phận là số nguyên to hơn 0 và nhỏ tuổi hơn 100. Thực hiện các công dụng sau: a) Tìm thành phần lớn trước tiên với chỉ số của chính nó (chỉ số đầu tiên tìm được). B) Tìm cùng in ra các bộ phận là số yếu tố của ma trận (các thành phần không thành phần thì thay ngay số 0). C) sắp đến xếp tất cả các cột của ma trận theo sản phẩm công nghệ tự tăng vọt và in hiệu quả ra màn hình. D) search cột trong ma trận có tương đối nhiều số yếu tắc nhất.

4. Bài bác tập về những thuật toán thu xếp trong Java

chúng ta cũng có thể xem các giải thuật bố trí trong phần cấu tạo dữ liệu với giải thuật: giải thuật sắp xếp

Dưới đó 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 bác tập java nâng cao

trong phần này, các bạn phải nỗ lực được các kiến thức về: Lớp và đối tượng người tiêu dùng trong java. Access modifier vào java Các đặc điểm của xây dựng hướng đối tượng người tiêu dùng (OOP). các khái niệm Java OOPs. Collection vào java. xử trí ngoại lệ trong java.

bài tập quản lý sinh viên vào Java - console

Đề bài: Viết chương trình làm chủ sinh viên. Mỗi đối tượng người dù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 thành 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 xích tập làm chủ sinh viên vào java - giao diện dòng lệnh

bài tập thống trị sinh viên trong Java - Swing

Lời giải: bài tập cai quản sinh viên vào java bởi Swing