Giới thiệu
Trong bài viết này, chúng ta sẽ khám phá 10 chương trình Java mini đơn giản nhưng mạnh mẽ. Mỗi chương trình tập trung vào một khái niệm cụ thể, giúp bạn tư duy như một lập trình viên thực thụ, chứ không chỉ là người viết mã.
Hãy cùng bắt đầu! 🚀
1️⃣ Đảo Ngược Chuỗi (Cách Thủ Công)
java
public class ReverseString {
public static void main(String[] args) {
String str = "Java";
String reversed = "";
for (int i = str.length() - 1; i >= 0; i--) {
reversed += str.charAt(i);
}
System.out.println(reversed); // Kết quả: avaJ
}
}
✅ Giải thích: Vòng lặp từ ký tự cuối cùng đến ký tự đầu tiên, xây dựng một chuỗi đảo ngược mới.
✅ Khái niệm: Vòng lặp, lập chỉ mục chuỗi và nối chuỗi.
2️⃣ Kiểm Tra Số Nguyên Tố
java
public class PrimeCheck {
public static void main(String[] args) {
int num = 29, count = 0;
for (int i = 1; i <= num; i++) {
if (num % i == 0) count++;
}
System.out.println(count == 2 ? "Số nguyên tố" : "Không phải số nguyên tố");
}
}
✅ Giải thích: Một số nguyên tố có đúng 2 ước số: 1 và chính nó.
✅ Khái niệm: Vòng lặp và logic điều kiện.
3️⃣ Dãy Fibonacci
java
public class Fibonacci {
public static void main(String[] args) {
int n = 10, a = 0, b = 1;
for (int i = 0; i < n; i++) {
System.out.print(a + " ");
int sum = a + b;
a = b;
b = sum;
}
}
}
✅ Giải thích: Tạo ra n số đầu tiên trong dãy Fibonacci.
✅ Khái niệm: Lặp lại và cập nhật biến.
4️⃣ Tính Giai Thừa của Một Số
java
public class Factorial {
public static void main(String[] args) {
int n = 5, fact = 1;
for (int i = 1; i <= n; i++) {
fact *= i;
}
System.out.println("Giai thừa: " + fact); // Kết quả: 120
}
}
✅ Giải thích: Nhân các số từ 1 đến n.
✅ Khái niệm: Vòng lặp và logic tích lũy.
5️⃣ Kiểm Tra Palindrome
java
public class Palindrome {
public static void main(String[] args) {
String str = "level";
String reversed = new StringBuilder(str).reverse().toString();
System.out.println(str.equals(reversed) ? "Palindrome" : "Không phải palindrome");
}
}
✅ Giải thích: Một palindrome đọc giống nhau từ trái sang phải và từ phải sang trái.
✅ Khái niệm: So sánh chuỗi và đảo ngược.
6️⃣ Tính Tổng Các Chữ Số
java
public class DigitSum {
public static void main(String[] args) {
int num = 1234, sum = 0;
while (num > 0) {
sum += num % 10;
num /= 10;
}
System.out.println("Tổng các chữ số: " + sum); // Kết quả: 10
}
}
✅ Giải thích: Lấy các chữ số bằng cách sử dụng phép chia và phép modulo.
✅ Khái niệm: Vòng lặp và số học modulo.
7️⃣ Tìm Phần Tử Lớn Nhất Trong Một Mảng
java
public class LargestInArray {
public static void main(String[] args) {
int[] arr = {2, 9, 5, 1, 7};
int max = arr[0];
for (int n : arr) {
if (n > max) max = n;
}
System.out.println("Phần tử lớn nhất: " + max);
}
}
✅ Giải thích: Lặp qua mảng để tìm giá trị lớn nhất.
✅ Khái niệm: Mảng và vòng lặp mở rộng.
8️⃣ Đếm Nguyên Âm Trong Một Chuỗi
java
public class VowelCount {
public static void main(String[] args) {
String str = "Hello Java";
int count = 0;
for (char c : str.toLowerCase().toCharArray()) {
if ("aeiou".indexOf(c) != -1) count++;
}
System.out.println("Nguyên âm: " + count); // Kết quả: 4
}
}
✅ Giải thích: Kiểm tra xem các ký tự thuộc về tập hợp nguyên âm.
✅ Khái niệm: Lặp qua ký tự và thao tác chuỗi.
9️⃣ Trò Chơi Đoán Số Đơn Giản
java
import java.util.*;
public class GuessGame {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int number = new Random().nextInt(10) + 1;
System.out.print("Đoán một số (1-10): ");
int guess = sc.nextInt();
if (guess == number) {
System.out.println("Đúng!");
} else {
System.out.println("Sai! Số là " + number);
}
}
}
✅ Giải thích: Tạo số ngẫu nhiên và nhận đầu vào từ người dùng.
✅ Khái niệm: Scanner, ngẫu nhiên và điều kiện.
🔟 Phép Cộng Ma Trận
java
public class MatrixAddition {
public static void main(String[] args) {
int[][] a = {{1,2},{3,4}};
int[][] b = {{5,6},{7,8}};
int[][] sum = new int[2][2];
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
sum[i][j] = a[i][j] + b[i][j];
}
}
for (int[] row : sum) {
for (int val : row) System.out.print(val + " ");
System.out.println();
}
}
}
✅ Giải thích: Cộng hai ma trận 2×2 từng phần tử.
✅ Khái niệm: Vòng lặp lồng ghép và mảng nhiều chiều.
🎯 Kết Luận
Những chương trình mini này có thể trông đơn giản, nhưng tổng thể chúng bao gồm:
- Vòng lặp & điều kiện
- Mảng & chuỗi
- Phương thức & số học modulo
- Ngẫu nhiên & đầu vào từ người dùng
💬 Lượt của bạn:
Chương trình nào trong số này bạn đã thành thạo?
Chương trình nào bạn muốn tôi mở rộng thành phân tích chi tiết?
Hãy để lại suy nghĩ của bạn trong phần bình luận! 🚀