Dalam program ini, Anda akan belajar memeriksa apakah suatu angka adalah palindrome atau tidak di Java. Ini dilakukan dengan menggunakan for dan while loop.
Untuk memahami contoh ini, Anda harus memiliki pengetahuan tentang topik pemrograman Java berikut:
- Pernyataan Java if… else
- Java sementara dan melakukan… saat Loop
- Java untuk Loop
Contoh 1: Program untuk Memeriksa Palindrome menggunakan while loop
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."); ) )
Keluaran
121 adalah nomor palindrom.
Dalam program ini,
- Pertama, nilai angka (num) disimpan dalam variabel integer lain, originalInteger. Ini karena, kita perlu membandingkan nilai bilangan terbalik dan bilangan asli di bagian akhir.
- Kemudian, loop sementara digunakan untuk mengulang melalui angka hingga sama dengan 0.
- Pada setiap iterasi, digit terakhir dari angka disimpan di sisa.
- Kemudian, sisa ditambahkan ke Integer terbalik sehingga ditambahkan ke nilai tempat berikutnya (perkalian dengan 10).
- Kemudian, digit terakhir dihilangkan dari angka setelah pembagian dengan 10.
- Akhirnya, reverseInteger dan originalInteger dibandingkan. Jika sama, itu adalah nomor palindrom. Jika tidak, maka tidak.
Berikut langkah-langkah eksekusi yang dilakukan:
Langkah-langkah eksekusi Palindromenum | num! = 0 | sisa | reversedInteger |
---|---|---|---|
121 | benar | 1 | 0 * 10 + 1 = 1 |
12 | benar | 2 | 1 * 10 + 2 = 12 |
1 | benar | 1 | 12 * 10 + 1 = 121 |
0 | Salah | - | 121 |
Contoh 2: Program untuk Memeriksa Palindrome menggunakan for loop
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."); ) )
Keluaran
11221 bukanlah palindrom.
Dalam program di atas, for loop digunakan sebagai pengganti while loop.
Pada setiap iterasi, num /= 10
dijalankan dan kondisinya num !=0
diperiksa.