Dalam program ini, Anda akan belajar membalikkan angka menggunakan while loop dan for loop di Java.
Untuk memahami contoh ini, Anda harus memiliki pengetahuan tentang topik pemrograman Java berikut:
- Java sementara dan melakukan… saat Loop
- Java untuk Loop
Contoh 1: Membalikkan Angka menggunakan loop sementara di Java
public class ReverseNumber ( public static void main(String() args) ( int num = 1234, reversed = 0; while(num != 0) ( int digit = num % 10; reversed = reversed * 10 + digit; num /= 10; ) System.out.println("Reversed Number: " + reversed); ) )
Keluaran
Nomor Terbalik: 4321
Dalam program ini, while loop digunakan untuk membalikkan angka seperti yang diberikan pada langkah-langkah berikut:
- Pertama, sisa angka dibagi 10 disimpan dalam digit variabel. Nah, digit tersebut berisi digit terakhir dari bilangan, yaitu 4.
digit tersebut kemudian ditambahkan ke variabel yang dibalik setelah dikalikan dengan 10. Perkalian dengan 10 menambah tempat baru pada bilangan yang dibalik tersebut. Tempat satu dikalikan 10 memberi Anda tempat kesepuluh, kesepuluh memberi Anda keseratus, dan seterusnya. Dalam hal ini, terbalik berisi 0 * 10 + 4 = 4.
num kemudian dibagi 10 sehingga sekarang hanya berisi tiga digit pertama: 123. - Setelah iterasi kedua, digit sama dengan 3, dibalik sama dengan 4 * 10 + 3 = 43 dan num = 12
- Setelah iterasi ketiga, digit sama dengan 2, dibalik sama dengan 43 * 10 + 2 = 432 dan num = 1
- Setelah iterasi keempat, digit sama dengan 1, dibalik sama dengan 432 * 10 + 1 = 4321 dan num = 0
- Sekarang num = 0, jadi ekspresi uji
num != 0
gagal dan saat loop keluar. terbalik sudah berisi angka terbalik 4321.
Contoh 2: Membalik angka menggunakan for loop di Java
public class ReverseNumber ( public static void main(String() args) ( int num = 1234567, reversed = 0; for(;num != 0; num /= 10) ( int digit = num % 10; reversed = reversed * 10 + digit; ) System.out.println("Reversed Number: " + reversed); ) )
Keluaran
Nomor Terbalik: 7654321
Pada program di atas, loop sementara diganti dengan loop for di mana:
- tidak ada ekspresi inisialisasi yang digunakan
- ekspresi tes tetap sama (
num != 0
) - update / increment ekspresi berisi
num /= 10
.
Jadi, setelah setiap iterasi, ekspresi pembaruan dijalankan yang menghapus digit terakhir dari angka.
Saat loop for keluar, pembalikan akan berisi nomor yang dibalik.