Bài tập java cơ bản có lời giải

các bài luyện tập Java tất cả giải thuật

Bài này hỗ trợ cho bạn danh sách những dạng bài xích tập khác biệt nhằm các bạn thực hành khi tham gia học java.

*

Note: Trước lúc chứng kiến tận mắt giải mã thì các bạn hãy từ làm trước nhé với hãy common hóa (phân tách thành thủ tục riêng) phần lớn gì hoàn toàn có thể sử dụng lại được.


1. các bài tập luyện java cơ bạn dạng

Trong phần này, các bạn buộc phải núm được các kỹ năng về: Các mệnh đề if-else, switch-case. Các vòng lặp for, while, do-while. Các trường đoản cú khóa break cùng continue trong java. Các toán tử vào java. Mảng (array) trong java. File I/O trong java. Xử lý nước ngoài lệ vào java. Bài 01:

Viết lịch trình kiếm tìm toàn bộ các số phân chia hết cho 7 dẫu vậy không phải bội số của 5, phía bên trong đoạn 10 và 200 (tính cả 10 và 200). Các số nhận được sẽ được in thành chuỗi bên trên một loại, giải pháp nhau bằng vết phẩy.

Gợi ý:

Sử dụng vòng lặp for

Code mẫu:


package vn.loveforht.net.baitap;import java.util.ArrayList;import java.util.List;public class Bai01 { public static void main(String<> args) { List danh sách = new ArrayList(); for (int i = 10; i list) { if (danh sách != null &và !menu.isEmpty()) { int kích cỡ = các mục.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 02:

Viết một công tác tính giai vượt của một trong những ngulặng dương n. Với n được nhập tự bàn phím. lấy ví dụ như, n = 8 thì kết quả cổng output nên là 1*2*3*4*5*6*7*8 = 40320.

Gợi ý:

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

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


package vn.loveforht.net.baitap;import java.util.Scanner;public class GiaiThuaDemo2 private static Scanner scanner = new Scanner(System.in); /** * main * *
author loveforht.net *
param args */ public static void main(String<> args) System.out.print("Nhập số nguyên ổn dương n = "); int n = scanner.nextInt(); System.out.println("Giai thừa của " + n + " là: " + tinhGiaithua(n)); /** * tinh giai thua thảm * *
author loveforht.net *
param n: so nguyen duong *
return giai lose 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 ổn dương n = 8Giai thừa của 8 là: 40320
Bài 03:

Hãy viết lịch trình để tạo nên một maps chứa (i, i*i), trong các số ấy i là số nguyên ổn từ một mang lại n (bao gồm cả 1 và n), n được nhập từ keyboard. Sau kia in maps này ra màn hình. Ví dụ: Giả sử số n là 8 thì cổng đầu ra đang 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 nhằm lặp i từ 1 cho n.

Code mẫu:


package vn.loveforht.net.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 ổn dương n = "); int n = scanner.nextInt(); Map maps = new HashMap(); for (int i = 1; i
Kết quả:


Nhập số nguim 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 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.loveforht.net.baitap; import java.util.Scanner; /** * Giải phương thơm trình bậc 2 * *
author loveforht.net */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ố thoải mái, 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: thông số bậc 1 *
param c: số hạng tự do */ public static void giaiPTBac2(float a, float b, float c) // đánh giá các hệ số if (a == 0) if (b == 0) System.out.println("Phương thơm trình vô nghiệm!"); else System.out.println("Phương thơm trình có 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 + " và x2 = " + x2); else if (delta == 0) x1 = (-b / (2 * a)); System.out.println("Phương thơm trình tất cả nghiệm kép: " + "x1 = x2 = " + x1); else System.out.println("Pmùi hươ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ố thoải mái, c = -1Phương thơm trình bao gồm 2 nghiệm là: x1 = 0.5 và x2 = -1.0
Bài 05:

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

Gợi ý:

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.loveforht.net.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 loveforht.net *
param args */ public static void main(String<> args) System.out.print("Nhập số ngulặng 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 lịch sự he teo so b * *
author loveforht.net *
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ố ngulặng dương n = 15So 15 trong he co so 2 = 1111So 15 trong he co so 16 = F
Bài 06:

Dãy số Fibonacci được định nghĩa nlỗi 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 công tác search n số Fibonacci trước tiên.

Code mẫu:


package vn.loveforht.net.baitap;import java.util.Scanner;/*** Tính hàng số Fibonacci bằng phương pháp đệ quy* *
author loveforht.net*/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ố 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 chương trình tìm kiếm ước số tầm thường lớn số 1 (USCLN) cùng bội số chung nhỏ tuổi tốt nhất (BSCNN) của nhị số nguyên dương a cùng b nhập từ bàn phím.

Gợi ý:

Code mẫu:


package vn.loveforht.net.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 ổn dương a = "); int a = scanner.nextInt(); System.out.print("Nhập số nguim 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 ước số phổ biến lớn nhất (USCLN) * *
param a: số nguim dương *
param b: số ngulặng 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ỏ nhất (BSCNN) * *
param a: số ngulặng 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ố ngulặng dương a = 10Nhập số ngulặng dương b = 24USCLN của 10 với 24 là: 2BSCNN của 10 với 24 là: 120
Bài 08:

Viết công tác liệt kê tất cả những số nguyên ổn tố nhỏ dại rộng n. Số nguyên ổn dương n được nhập từ bỏ bàn phím.

You watching: Bài tập java cơ bản có lời giải

Code mẫu:


package vn.loveforht.net.baitap; import java.util.Scanner; /** * Chương trình liệt kê tất cả những số nguim tố bé dại rộng n. * *
author loveforht.net */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 ổn tố nhỏ tuổi rộng %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 ổn tố nhỏ rộng 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ố nguim tố trước tiên vào java. Số nguyên ổn dương n được nhập từ bỏ keyboard.

Code mẫu:


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


Nhập n = 1010 số ngulặng tố trước 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ố ngulặng tố bao gồm 5 chữ số trong java.

See more: Top 13 Phần Mềm Tạo Ftp Server Miễn Phí Mà Tốt, 7 Best Free Ftp Server Software

Code mẫu:


package vn.loveforht.net.baitap; /** * Chương thơm trình liệt kê tất cả số nguim tố có 5 chữ số. * *
author loveforht.net */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ố nguim tố 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ố nguim n thành các thừa số ngulặng tố trong java. Ví dụ: 100 = 2x2x5x5.

Code mẫu:


package vn.loveforht.net.baitap; import java.util.ArrayList;import java.util.List;import java.util.Scanner; /** * Chương trình so với số nguyên n thành các thừa số nguim tố. * Ví dụ: 12 = 2 x 2 x 3. * *
author loveforht.net */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ố ngulặng dương n = "); int n = scanner.nextInt(); // so với số nguyên dương n List listNumbers = phanTichSoNguyen(n); // in hiệu quả ra màn hình hiển thị 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(); // phân tích while (n > 1) if (n % i == 0) n = n / i; listNumbers.add(i); else i++; // nếu listNumbers trống thì add 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 công tác tính tổng của những chữ số của môt số nguyên ổn n vào java. Số nguyên ổn dương n được nhập từ bỏ keyboard. Với n = 1234, tổng những chữ số: 1 + 2 + 3 + 4 = 10

Code mẫu:


package vn.loveforht.net.baitap; import java.util.Scanner; /** * Chương thơm 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 các chữ số của 6677 là 6 + 6 + 7 + 7 = 26. * *
author loveforht.net */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 ổ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 ổn dương * *
param n: số nguim dương *
return */ public static int totalDigitsOfNumber(int n) int total = 0; do 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 13:

Viết chương trình chất vấn một số trong những n là số thuận nghịch trong java. Số nguim dương n được nhập từ bàn phím.

Code mẫu:


package vn.loveforht.net.baitap;import java.util.Scanner;/** * Cmùi hương trình liệt kê toàn bộ những số thuận nghịch tất cả 6 trị số. * *
author loveforht.net */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ố nguim 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ố nguim 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ố ngulặng 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 hóa số n thành một chuỗi String String numberStr = String.valueOf(n); // bình chọn tính thuận nghịch int kích thước = numberStr.length(); for (int i = 0; i
Kết quả:


Nhập số nguim dương n = 12332112332một là số thuận nghịch: trueNhập số ngulặng dương m = 12345112332một là số thuận nghịch: false
Bài 14:

Viết chương trình liệt kê những số Fibonacci nhỏ tuổi rộng n là số nguim tố vào java. N là số nguyên ổn dương được nhập từ bàn phím.

Code mẫu:


package vn.loveforht.net.baitap; import java.util.Scanner; /** * Chương thơm trình liệt kê những số Fibonacci nhỏ dại rộng n là số nguyên tố. * Với n được nhập từ bàn phím. * *
author loveforht.net */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 và thoải mái n = "); int n = scanner.nextInt(); System.out.printf("Các số fibonacci nhỏ tuổi hơn %d với " + "là số ngulặng 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ố thoải mái và tự nhiên n = 100Các số fibonacci bé dại rộng 100 và là số nguyên ổn tố: 2 3 5 13 89
Các bài bác tập khác:

Viết lịch trình nhập số nguyên ổn dương n cùng triển khai 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 những quá số nguim tố. c) Liệt kê những ước số của n. d) Liệt kê các ước số là nguyên ổn tố của n. Viết lịch trình liệt kệ những số nguyên ổn tất cả tự 5 đến 7 chữ số thảo mãn: a) Là số ngulặng tố. b) Là số thuận nghịch. c) Mỗi chữ số gần như 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ệ các số nguim có 7 chữ số thảo mãn: a) Là số nguim tố. b) Là số thuận nghịch. c) Mỗi chữ số mọi là số nguyên ổn tố. d) Tổng các chữ số là số thuận nghịch.

See more: Tổng Hợp Phần Mềm Làm Photobook Miễn Phí, Phần Mềm Fotoprix Photobook

2. Những bài tập chuỗi vào Java

Danh sách bài xích tập:


3. Những bài tập mảng trong Java

Các bài xích tập trong phần này thao tác cùng với mảng một chiều cùng 2 chiều vào java, bạn cũng có thể xem thêm bài học mảng (Array) trong java

Danh sách bài bác tập:

Nhập một mảng số thực a0, a1, a2, ..., an-1. Không sử dụng thêm mảng số thực nào khác (hoàn toàn có thể dùng thêm mảng số nguyên), hãy in ra screen mảng trên theo thứ từ tăng vọt. Viết lịch trình nhập vào mảng A có n phần tử, những phần tử là số nguyên lớn hơn 0 với nhỏ tuổi hơn 100. Thực hiện các chức năng sau: a) Tìm phần tử mập thứ nhất cùng phệ thứ 2 vào mảng cùng với các chỉ số của chúng (chỉ số trước tiên kiếm tìm được). b) Sắp xếp mảng theo sản phẩm công nghệ từ tăng vọt. c) Nhập số nguim x cùng ckém x vào mảng A làm thế nào để cho vẫn bảo đảm tính tăng dần đều đến mảng A. Viết lịch trình nhtràn lên ma trận A gồm n mẫu, m cột, các thành phần là số nguim lớn hơn 0 với bé dại hơn 100. Thực hiện tại các chức năng sau: a) Tìm bộ phận mập đầu tiên với chỉ số của chính nó (chỉ số thứ nhất kiếm tìm được). b) Tìm cùng in ra các phần tử là số nguim tố của ma trận (những phần tử ko nguim tố thì gắng bằng số 0). c) Sắp xếp toàn bộ những cột của ma trận theo thứ từ tăng cao và in công dụng ra màn hình. d) Tìm cột trong ma trận có không ít số ngulặng tố độc nhất.

4. Bài tập về những thuật toán sắp xếp vào Java

quý khách có thể xem những giải thuật thu xếp trong phần cấu tạo dữ liệu cùng giải thuật: Giải thuật bố trí

Dưới đây là tổng đúng theo một số bài bác tập thuật tân oán thu xếp trong Java:

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

Trong phần này, bạn nên nạm được các kỹ năng và kiến thức về: Lớp với đối tượng trong java. Access modifier trong java Các đặc thù của xây dựng hướng đối tượng người sử dụng (OOP). Các khái niệm Java OOPs. Collection vào java. Xử lý nước ngoài lệ vào java.

các bài tập luyện quản lý sinch 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 gồm các trực thuộc tính sau: id, name, age, address cùng gpa (điểm trung bình). Yêu cầu: tạo thành một thực đơn cùng với những 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: các bài tập luyện làm chủ sinch viên vào java - giao diện cái lệnh

Bài tập làm chủ sinch viên vào Java - Swing

Lời giải: những bài tập quản lý sinch viên vào java bởi Swing

Chuyên mục: Chia sẻ