Program Palindrome di Jawa | Program Java Untuk Memeriksa Polindrome
Diterbitkan: 2021-02-26Daftar isi
pengantar
Java telah mendapatkan banyak sorotan di kalangan programmer karena kesederhanaannya, netralitas arsitektur, independensi platform, eksekusi terdistribusi, dan dapat digunakan kembali. Juga, java memiliki banyak perpustakaan yang telah ditentukan untuk pemrograman tanpa batas. Dan semua orang akan antusias untuk membuat kode dalam bahasa seperti itu.
Sekarang sampai pada topik kita, kita akan menulis kode java untuk memeriksa apakah input yang diberikan adalah palindrom atau tidak.
Suatu bilangan atau kata dikatakan palindrom jika tetap sama setelah dibalik. Dan kita dapat mengimplementasikan solusi secara iteratif maupun rekursif. Jadi mari kita mulai!
Kode Java Iteratif
Idenya sederhana; kita akan mendeklarasikan variabel 'reverse' yang menyimpan angka terbalik dari input kita.
Kami akan mengalikan variabel terbalik dengan 10 (untuk mengisi posisi unit dengan 0) di setiap iterasi. Kemudian, kita akan menjumlahkan sisa dari angka input setelah membaginya dengan 10. Setelah menjumlahkan sisanya, kita akan membagi angka input dengan 10 (untuk menghilangkan angka pada posisi satuan).
Kami akan menghentikan algoritma di atas ketika angka input menjadi 0, dan angka yang ada dalam variabel terbalik akan menjadi kebalikan dari angka input.
peningkatan kelas publik{
public static void main(String[] args) {
int n=12221;
int terbalik=0;
int suhu=n;
sementara(suhu>0){
mundur=mundur*10;
terbalik=mundur+temp%10;
suhu = suhu/10;
}
jika (terbalik == n)
System.out.print(n+” adalah palindrom”);
lain
System.out.print(n+” bukan palindrom”);
}
}
Dalam kode di atas, kami telah mendeklarasikan variabel 'n' yang menyimpan angka awal, dan kami telah memeriksa apakah angka n adalah palindrom atau bukan. Dalam perulangan while, kita akan mengikuti algoritma yang telah kita bahas sebelumnya. Dan terakhir, kami memeriksa apakah angka yang dibalik sama dengan angka awal atau tidak. Jika angka yang diubah dan angka awal serupa, kami mencetaknya sebagai palindrom lain, bukan palindrom.
Sekarang, kode ini hanya akan berfungsi untuk input integer. Dan jika kita ingin memeriksa apakah kata yang diberikan adalah palindrom atau bukan, kita harus mengatasinya menggunakan string. Dan inilah kode untuk melakukan itu.
peningkatan kelas publik{
public static void main(String[] args) {
String s="rotor";
String terbalik=String baru();
untuk(int i=s.length()-1;i>=0;i–)
reverse=mundur+s.charAt(i);
if(s.equals(reverse))
System.out.print(s+” adalah palindrom”);
lain
System.out.print(s+” bukan palindrom”);
}
}
Dalam kode di atas, kami menambahkan karakter string awal dari ekor ke kepala ke string terbalik dan memeriksa apakah itu sama dengan string awal atau tidak. Kami telah mengkodekan string dengan kata, tetapi kami dapat menginisialisasinya dengan input pengguna menggunakan kelas pemindai.
Kode Java Rekursif
Dalam implementasi ini, kita akan membandingkan karakter pertama dan terakhir. Dan jika mereka sama, maka ulangi lebih lanjut untuk string yang tersisa.
Tetapi logika ini tidak akan berfungsi untuk string yang memiliki jumlah karakter ganjil. Jadi jika kita memasukkan kasus dasar, di mana kita menyimpulkan string sebagai palindrom, jika panjang string adalah satu, yaitu, posisi karakter pertama dan terakhir adalah sama. Ini akan menghapus masalah kita dengan string berukuran ganjil karena kita akan mengulang ke elemen tengah dan kemudian menyimpulkannya sebagai palindrom karena hanya satu karakter yang tersisa di tengah.
peningkatan kelas publik{
public static boolean isPalindrome(String str, int rendah, int tinggi){
jika (rendah == tinggi)
kembali benar;
if(str.charAt(rendah)!=str.charAt(tinggi))
kembali salah;
jika (tinggi-rendah>1)
return isPalindrome(str,rendah+1,tinggi-1);
kembali benar;
}
public static void main(String[] args) {
String s1="rotor";
String s2="pemrograman";
System.out.println(isPalindrome(s1,0,s1.length()-1));
System.out.println(isPalindrome(s2,0,s2.length()-1));
}
}
Dalam kode di atas, kami telah menulis sebuah fungsi yang mengharapkan string, dua bilangan bulat sebagai parameter. Dan dua bilangan bulat, rendah, tinggi adalah penunjuk yang melacak karakter yang harus diperiksa. Dan jika nama-nama di posisi rendah dan tinggi adalah sama.
kita akan memanggil fungsi yang sama dengan parameter yang diperbarui sehingga string diciutkan dari kedua sisi dengan satu karakter. Dan jika pointer rendah dan tinggi bertemu satu sama lain atau satu karakter hadir di antara mereka, maka kita telah mencapai bagian tengah string dan menyimpulkannya sebagai palindrom.
Sekarang, mari kita jalankan kode untuk string "rotor". Awalnya, low adalah 0, dan high adalah 4. Karena karakter pada posisi 0 ('r') sama dengan karakter pada posisi ke-4 ('r'), kita akan membuat panggilan rekursif dengan update rendah sebagai rendah +1 dan tinggi diperbarui sebagai tinggi-1.
Sekarang, rendah adalah 1, dan tinggi adalah 3 karena karakter pada posisi tersebut sama, kami akan membuat panggilan rekursif lagi. Sekarang rendah adalah 2 dan tinggi adalah 2, dan itu memicu kasus dasar di mana rendah setara dengan tinggi, jadi kami akan mengembalikan true.
Kami juga dapat menerapkan fungsi rekursif untuk memeriksa apakah bilangan bulat adalah palindrom atau tidak, dan inilah proses untuk melakukannya.
static boolean isPalindrome(int n, int rev, int temp){
jika (temp==0)
kembali n==rev;
putaran=putaran*10;
return isPalindrome(n,rev+temp%10,temp/10);
}
Perhatikan bahwa, dalam fungsi di atas, awalnya n dan suhu adalah sama. Karena pada akhirnya, kita harus membandingkan bilangan terbalik dengan bilangan awal, sehingga semua komputasi dilakukan pada variabel yang sama. Nomor awal tidak boleh diubah.
Baca Juga: Ide & Topik Proyek Java
Pelajari Kursus Perangkat Lunak online dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.
Kesimpulan
Kami telah memahami definisi palindrom, menelusuri kode iteratif dan rekursif untuk memeriksa apakah string/angka adalah palindrom atau bukan. Kita tahu kodenya dengan menjalankan contoh contoh kering. Sekarang setelah Anda mengetahui penerapan kode untuk memeriksa palindrom, coba implementasikan menggunakan kelas pemindai dan coba mengkodekannya menggunakan konsep OOP.
Jika Anda ingin meningkatkan keterampilan Java Anda, Anda perlu mendapatkan proyek Java ini. Jika Anda tertarik untuk mempelajari lebih lanjut tentang Java, pengembangan full-stack, lihat Program PG Eksekutif upGrad & IIIT-B dalam Pengembangan Perangkat Lunak Full-stack, yang dirancang untuk profesional yang bekerja dan menawarkan 500+ jam pelatihan yang ketat, 9+ proyek, dan penugasan, status Alumni IIIT-B, proyek batu penjuru praktis & bantuan pekerjaan dengan perusahaan-perusahaan top.
Apa itu palindrom?
Kalimat palindromik adalah suatu susunan sastra, frasa, syair, atau kata, yang bacaannya sama ke belakang atau ke depan. Palindrom adalah jenis permainan kata, khususnya kata atau frasa (kalimat) yang bacaannya sama ke belakang atau ke depan. Palindrom adalah kata, frasa, angka, atau urutan karakter lain yang dibaca dari belakang atau depan yang sama. Misalnya, Seorang pria, sebuah rencana, sebuah kanal, Panama! adalah palindrom. Beberapa palindrom bukan kata-kata, seperti angka 106601. Beberapa palindrom adalah frasa, seperti Madam, I'm Adam.
Bagaimana mempersiapkan wawancara Java?
Jika Anda ingin menjadi ahli Java, Anda perlu memastikan beberapa hal terlebih dahulu. Pertama dan terpenting, Anda harus memiliki pengetahuan yang baik tentang bahasa Java. Kedua, Anda harus memiliki pemahaman yang baik tentang Java API. Anda tidak harus menguasai API secara mutlak, tetapi Anda harus memiliki pemahaman tentang apa yang tersedia dan kapan harus menggunakan kelas mana. Terakhir, Anda harus memiliki pemahaman mendalam tentang Java Virtual Machine. Misalnya, Anda harus bisa menulis juru bahasa untuk bahasa yang sederhana. Jika Anda diwawancarai untuk posisi pengembangan kompiler, Anda lolos.
Bagaimana cara menulis program Java yang bagus?
Beberapa praktik terbaik saat menulis program di java adalah: Selalu gunakan 'kelas publik' untuk memulai kelas. Jangan pernah menggunakan 'public static void main' di dalam kelas. Jangan pernah menggunakan kata kunci 'ini' di dalam kelas. Jangan pernah menggunakan pengubah 'final' pada metode. Jangan pernah menggunakan pengubah 'statis' pada variabel instan. Jangan pernah membuat variabel 'publik' kecuali benar-benar diperlukan. Selalu memiliki konvensi penamaan yang baik. Jangan pernah membuat variabel lebih dari satu huruf dengan sufiks numerik. Hindari membuat variabel dengan lebih dari satu kata. Jangan pernah menggunakan kata kunci 'ini' di dalam metode. Jangan pernah menggunakan kata kunci 'break'.