Kod Java untuk Mengira Tahun Lompat: Membandingkan Dua Pendekatan
Mengira tahun lompat ialah latihan pengekodan yang biasa. Dua pendekatan sering ditemui: satu yang dibentangkan dalam "The Art and Science of Java" dan satu lagi penyelesaian yang biasa digunakan.
Kod daripada "The Art and Science of Java"
boolean isLeapYear = ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0));
Kod ini menyemak sama ada tahun boleh dibahagikan dengan 4 tetapi tidak boleh dibahagikan dengan 100, atau jika ia boleh dibahagikan dengan 400. Sementara ini logik berfungsi, ia tidak semestinya rumit.
Kod Yang Diperbaiki
if ((year % 4 == 0) && year % 100 != 0) { println(year + " is a leap year."); } else if ((year % 4 == 0) && (year % 100 == 0) && (year % 400 == 0)) { println(year + " is a leap year."); } else { println(year + " is not a leap year."); }
Kod yang dipertingkatkan ini memudahkan logik dengan membahagikannya kepada dua keadaan: tahun boleh dibahagikan dengan 4 tetapi tidak 100 ialah tahun lompat, dan tahun boleh dibahagikan dengan 400 juga tahun lompat (walaupun boleh dibahagikan dengan 100). Kod ini lebih mudah dibaca dan ringkas.
Penyelesaian Alternatif
public static boolean isLeapYear(int year) { return year % 400 == 0 || (year % 100 != 0 && year % 4 == 0); }
Penyelesaian alternatif ini menggabungkan dua keadaan berasingan menjadi satu ungkapan yang lebih cekap. Ia merupakan pendekatan yang paling biasa digunakan kerana kesederhanaan dan prestasinya.
Kod Manakah yang Terbaik?
Kod yang dipertingkatkan ialah pilihan terbaik, yang memberikan keseimbangan antara kebolehbacaan dan kecekapan. Ia adalah mudah untuk difahami dan berfungsi dengan baik untuk kebanyakan pengiraan tahun lompat. Walau bagaimanapun, penyelesaian alternatif kekal sebagai pilihan yang sah jika prestasi menjadi kebimbangan utama.
Atas ialah kandungan terperinci Apakah Kod Java Terbaik untuk Menentukan Tahun Lompat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!