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

bài bác này cung cấp cho mình danh sách những dạng bài xích tập không giống nhau để chúng ta thực hành khi tham gia học java.

*

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


1. Bài xích tập java cơ bạn dạng

trong phần này, các bạn phải nuốm được những kiến thức về:

các mệnh đề if-else, switch-case. những vòng lặp for, while, do-while. các từ khóa break và continue vào java. những toán tử trong java. Mảng (array) vào java. file I/O trong java. xử trí ngoại lệ vào java.

bài 01:

Viết công tác tìm toàn bộ các số chia hết mang lại 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ẽ tiến hành in thành chuỗi bên trên một dòng, giải pháp nhau bằng dấu phẩy.

Gợi ý:

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

Code mẫu:


package vn.hijadobravoda.com.baitap;import java.util.ArrayList;import java.util.List;public class Bai01 { public static void main(String<> args) { danh mục 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
bài xích 02:

Viết một chương trình tính giai thừa của một vài nguyên dương n. Với n được nhập từ bàn phím. Ví dụ, n = 8 thì công dụng đầu ra đề nghị là 1*2*3*4*5*6*7*8 = 40320.

Gợi ý:

thực hiện đệ quy hoặc vòng lặp để tính giai thừa.

Code mẫu: thực hiện đệ quy


package vn.hijadobravoda.com.baitap;import java.util.Scanner;public class GiaiThuaDemo2 private static Scanner scanner = new Scanner(System.in); /** * main * *
author hijadobravoda.com *
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 quá của " + n + " là: " + tinhGiaithua(n)); /** * tinh giai thất bại * *
author hijadobravoda.com *
param n: so nguyen duong *
return giai đại bại 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 quá của 8 là: 40320
bài xích 03:

Hãy viết chương trình để tạo ra một bản đồ cất (i, i*i), trong các số ấy i là số nguyên từ là 1 đến n (bao có cả 1 và n), n được nhập từ bỏ bàn phím. Kế tiếp in bản đồ này ra màn hình. Ví dụ: trả sử số n là 8 thì áp ra output 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.hijadobravoda.com.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 bác 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.hijadobravoda.com.baitap; import java.util.Scanner; /** * Giải phương trình bậc 2 * *
author hijadobravoda.com */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 thông 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: thông số bậc 2 *
param b: thông 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 bao 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 bao gồm 2 nghiệm là: " + "x1 = " + x1 + " cùng 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 thông số bậc 2, a = 2Nhập thông số bậc 1, b = 1Nhập hằng số tự do, c = -1Phương trình bao gồm 2 nghiệm là: x1 = 0.5 với x2 = -1.0
bài xích 05:

Viết chương trình đổi khác một số tự nhiên và thoải mái ở 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 ý:

giả dụ m = 10 trả về chuỗi "A". nếu như m = 11 trả về chuỗi "B". nếu m = 12 trả về chuỗi "C". giả dụ 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.hijadobravoda.com.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 hijadobravoda.com *
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 quý phái he co so b * *
author hijadobravoda.com *
param n: so nguyen *
param b: he teo so *
return he teo 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 vào he co so 2 = 1111So 15 vào he teo so 16 = F
bài bác 06:

hàng số Fibonacci được định nghĩa như sau: F0 = 0, F1 = 1, F2 = 1, Fn = F(n-1) + F(n-2) cùng với n >= 2. Ví dụ: 0, 1, 1, 2, 3, 5, 8, ... Hãy viết công tác tìm n số Fibonacci đầu tiên.

Code mẫu:


package vn.hijadobravoda.com.baitap;import java.util.Scanner;/*** Tính hàng số Fibonacci bằng cách thức đệ quy* *
author hijadobravoda.com*/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ố trước 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ố đầu tiên của dãy số fibonacci: 0 1 1 2 3 5 8 13 21 34 55 89
bài bác 07:

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

Gợi ý:

Code mẫu:


package vn.hijadobravoda.com.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ới " + b + " là: " + USCLN(a, b)); // tính BSCNN của a và b System.out.println("BSCNN của " + a + " cùng " + b + " là: " + BSCNN(a, b)); /** * Tìm mong 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ới b */ public static int USCLN(int a, int b) if (b == 0) return a; return USCLN(b, a % b); /** * kiếm tìm bội số chung nhỏ tuổi nhất (BSCNN) * *
param a: số nguyên dương *
param b: số nguyên dương *
return BSCNN của a với 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 cùng 24 là: 120
bài 08:

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

Bạn đang xem: Bài tập java có lời giải

Code mẫu:


package vn.hijadobravoda.com.baitap; import java.util.Scanner; /** * lịch trình liệt kê toàn bộ các số nguyên tố bé dại hơn n. * *
author hijadobravoda.com */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ố bé dạ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ả các số nguyên tố nhỏ dại 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 xích 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.hijadobravoda.com.baitap; import java.util.Scanner; /** * công tác liệt kê n số yếu tắc đầu tiên. * *
author hijadobravoda.com */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ố thứ nhất là: ", n); int dem = 0; // đếm số số thành phần int i = 2; // tìm kiếm số nguyên tố bắt dầu trường đoản cú 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 bác 10:

Viết chương trình liệt kê toàn bộ số nguyên tố tất cả 5 chữ số vào java.

Code mẫu:


package vn.hijadobravoda.com.baitap; /** * công tác liệt kê toàn bộ số nguyên tố có 5 chữ số. * *
author hijadobravoda.com */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ố bao gồm 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 chương trình phân tích số nguyên n thành các thừa số yếu tố trong java. Ví dụ: 100 = 2x2x5x5.

Code mẫu:


package vn.hijadobravoda.com.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 các thừa số nguyên tố. * Ví dụ: 12 = 2 x 2 x 3. * *
author hijadobravoda.com */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(); // so sánh số nguyên dương n danh sách listNumbers = phanTichSoNguyen(n); // in kết quả ra screen 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; các mục listNumbers = new ArrayList(); // đối chiếu while (n > 1) if (n % i == 0) n = n / i; listNumbers.add(i); else i++; // ví như 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 12:

Viết lịch trình tính tổng của các 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. Cùng với n = 1234, tổng những chữ số: 1 + 2 + 3 + 4 = 10

Code mẫu:


package vn.hijadobravoda.com.baitap; import java.util.Scanner; /** * lịch 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 những chữ số của 6677 là 6 + 6 + 7 + 7 = 26. * *
author hijadobravoda.com */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 trong những nguyên dương * *
param n: số nguyên dương *
return */ public static int totalDigitsOfNumber(int n) int total = 0; bởi 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 số n là số thuận nghịch vào java. Số nguyên dương n được nhập trường đoản cú bàn phím.

Code mẫu:


package vn.hijadobravoda.com.baitap;import java.util.Scanner;/** * công tác liệt kê tất cả các số thuận nghịch tất cả 6 trị số. * *
author hijadobravoda.com */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 không 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); // khám nghiệm 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 xích 14:

Viết lịch 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 trường đoản cú bàn phím.

Code mẫu:


package vn.hijadobravoda.com.baitap; import java.util.Scanner; /** * công tác liệt kê các số Fibonacci bé dại hơn n là số nguyên tố. * cùng với n được nhập tự bàn phím. * *
author hijadobravoda.com */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ỏ hơn %d cùng " + "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ới là số nguyên tố: 2 3 5 13 89
Các bài bác 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 công dụng sau: a) Tính tổng những 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ê những ước số của n. D) Liệt kê những ước số là nguyên tố của n. Viết lịch trình liệt kệ các số nguyên tất cả từ 5 cho 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 đa là số nguyên tố. D) Tổng các chữ số là số nguyên tố. Viết lịch trình liệt kệ những 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ố hầu như là số nguyên tố. D) Tổng các chữ số là số thuận nghịch.

Xem thêm: Tuần 25 Trang 33 Vở Bài Tập Tiếng Việt Lớp 3 Trang 33, Tập Làm Văn

2. Bài tập chuỗi vào Java

Danh sách bài tập:


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

các bài tập vào phần này thao tác làm việc với mảng một chiều và 2d trong java, bạn cũng có thể tham khảo bài học kinh nghiệm mảng (Array) vào 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ể sử dụng thêm mảng số nguyên), hãy in ra màn hình mảng bên trên theo đồ vật tự tăng dần. Viết công tác nhập vào mảng A bao gồm n phần tử, các thành phần là số nguyên to hơn 0 và nhỏ dại hơn 100. Tiến hành các tính năng sau: a) Tìm phần tử lớn trước tiên và lớn thứ 2 trong mảng với những chỉ số của bọn chúng (chỉ số trước tiên tìm được). B) thu 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 đảm bảo tính tăng 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 phần tử là số nguyên to hơn 0 và bé dại hơn 100. Triển khai các tác dụng sau: a) Tìm phần tử lớn thứ nhất với chỉ số của nó (chỉ số thứ nhất tìm được). B) Tìm cùng in ra các bộ phận là số yếu tắc của ma trận (các thành phần không yếu tố thì thay bằng số 0). C) sắp đến xếp toàn bộ các cột của ma trận theo lắp thêm tự tăng đột biến và in hiệu quả ra màn hình. D) kiếm tìm cột vào ma trận có khá nhiều số yếu tắc nhất.

4. Bài bác 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 tạo dữ liệu với giải thuật: lời giải sắp xếp

Dưới đấy là tổng hợp một số trong những bài tập thuật toán thu xếp trong Java:

5. Bài bác tập java nâng cấp

trong phần này, các bạn phải 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 trong java Các đặc thù của lập trình hướng đối tượng (OOP). những khái niệm Java OOPs. Collection vào java. giải pháp xử lý ngoại lệ vào java.

bài bác 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ó những 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 thực đơn với các tính năng sau:

/****************************************/1. địa chỉ 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 cai quản sinh viên vào java - đồ họa 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 thống trị sinh viên vào java bởi Swing