import java.util.Scanner;
public class Hw2JamesVaughn {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("Enter a year: ");
int year = input.nextInt();
if((year < 1582) == (year % 4==0))
System.out.println(year + " is a leap year");
else
System.out.println(year + " is not a leap year");
if((year > 1582) == (year % 100 != 0) || (year % 400 == 0))
System.out.println(year + " is a leap year");
else
System.out.println(year + " is not a leap year");
}
}
Đây là nhiệm vụ.Các vấn đề về mã nhảy Java năm
(Để xác định xem một năm cụ thể là năm nhuận, sử dụng logic sau đây:
- năm phải chia hết cho 4
- bắt đầu từ năm 1582, nếu năm chia hết cho 100, nó cũng phải chia hết cho 400 Vì vậy, năm 1700 không phải là năm nhuận, nhưng năm 2000 là 1500. Năm 1500 là năm nhuận vì nó là trước năm 1582, năm nhận con nuôi của lịch Gregorian. , và sau đó hiển thị cho dù năm là năm nhuận hay không.)
Tôi đã nhận được điều này đến nay với chương trình năm nhuận java của tôi nhưng nó không hoạt động! Tôi đã làm việc về điều này và tôi không có ý tưởng gì là sai.
Hãy nghĩ về điều kiện này: '(năm <1582) == (năm% 4 == 0)'. Hãy suy nghĩ * rất cẩn thận về những gì đang kiểm tra. Tôi không nghĩ đó là ý của bạn. (Gợi ý: Tôi chỉ tách riêng "mọi thứ trước năm 1582" từ "mọi thứ từ năm 1582 trở đi", và bỏ qua thực tế là hai nhánh đó sẽ có bất kỳ điểm gì chung ...) –
Có lỗi cú pháp trong mã của bạn - một ' ; 'ngay sau câu lệnh' if', kết thúc khối 'if' không có phần thân. 'Else' sau bị bỏ lại không có' if' tương ứng. – papacito
Tôi nghĩ rằng năm chia tách là 1752, không phải 1582 ... bạn có thể kiểm tra xem ?? nếu bạn đang ở dưới Linux, kiểm tra cal 1700 :)) Tôi không thể tư vấn cho các cửa sổ như tôi không có nó .. – mlwn