Trong chương trình này, bạn sẽ học cách kiểm tra xem một số có phải là palindrome hay không trong Java. Điều này được thực hiện bằng cách sử dụng vòng lặp for và while.
Để hiểu ví dụ này, bạn nên có kiến thức về các chủ đề lập trình Java sau:
- Câu lệnh Java if… else
- Java while và do… while Loop
- Java cho Vòng lặp
Ví dụ 1: Chương trình kiểm tra Palindrome bằng vòng lặp while
public class Palindrome ( public static void main(String() args) ( int num = 121, reversedInteger = 0, remainder, originalInteger; originalInteger = num; // reversed integer is stored in variable while( num != 0 ) ( remainder = num % 10; reversedInteger = reversedInteger * 10 + remainder; num /= 10; ) // palindrome if orignalInteger and reversedInteger are equal if (originalInteger == reversedInteger) System.out.println(originalInteger + " is a palindrome."); else System.out.println(originalInteger + " is not a palindrome."); ) )
Đầu ra
121 là một số palindrome.
Trong chương trình này,
- Đầu tiên, giá trị của số (num) đã cho được lưu trữ trong một biến số nguyên khác, originalInteger. Điều này là do, chúng ta cần so sánh giá trị của số đảo ngược và số ban đầu ở cuối.
- Sau đó, một vòng lặp while được sử dụng để lặp qua num cho đến khi nó bằng 0.
- Trên mỗi lần lặp, chữ số cuối cùng của num được lưu trữ trong phần còn lại.
- Sau đó, phần còn lại được thêm vào reverseInteger để nó được thêm vào giá trị vị trí tiếp theo (nhân với 10).
- Sau đó, chữ số cuối cùng bị xóa khỏi num sau khi chia cho 10.
- Cuối cùng, reverseInteger và originalInteger được so sánh. Nếu bằng nhau, nó là một số palindrome. Nếu không, nó không phải là.
Dưới đây là các bước thực hiện diễn ra:
Các bước thực hiện Palindromenum | num! = 0 | phần còn lại | reverseInteger |
---|---|---|---|
121 | thật | 1 | 0 * 10 + 1 = 1 |
12 | thật | 2 | 1 * 10 + 2 = 12 |
1 | thật | 1 | 12 * 10 + 1 = 121 |
0 | sai | - | 121 |
Ví dụ 2: Chương trình kiểm tra Palindrome bằng vòng lặp for
public class Palindrome ( public static void main(String() args) ( int num = 11221, reversedInteger = 0, remainder, originalInteger; originalInteger = num; // reversed integer is stored in variable for( ;num != 0; num /= 10 ) ( remainder = num % 10; reversedInteger = reversedInteger * 10 + remainder; ) // palindrome if orignalInteger and reversedInteger are equal if (originalInteger == reversedInteger) System.out.println(originalInteger + " is a palindrome."); else System.out.println(originalInteger + " is not a palindrome."); ) )
Đầu ra
11221 không phải là một palindrome.
Trong chương trình trên, vòng lặp for được sử dụng thay cho vòng lặp while.
Trên mỗi lần lặp, num /= 10
được thực thi và điều kiện num !=0
được kiểm tra.