[英]Leap year Java Q
我需要為a年寫一個方法。 因此,該方法必須稱為printleap,並檢查該數字是否為a年。 因此,java程序將通過讀取年份編號列表來測試該方法,並且僅顯示the年。 這是我所做的:
導入java.util.Scanner; 公共類Ex1PartAassig3 {
public static int printleap(String string) {
Scanner sc1=new Scanner(System.in);
{
System.out.println("This programe calculates leap year.");
int year= printleap ("Enter the year:");
if ((year%4==0)&& year % 100 !=0)
}
System.out.println(year + "is a leap year.");
{
else if ((year % 4==0) && (year % 100==0)&&(year % 400==0))
{
System.out.println(year +"is a leap year.");
}
else {
}
System.out.println(year + " is not a leap year.");
}
}
}
顯示錯誤的區域在第一個'else'下划線,否則((year%4 == 0)&&(year%100 == 0)&&(year%400 == 0)
還有兩個花括號,第一個花括號位於第二個system.out的上方,第一個花括號位於最底部。底部有3個花括號,但第一個花括號為1。
有什么可以幫助我運行該程序的,或者我忘記了的謝謝嗎?
大括號到處都是,不要排隊。 這將是帶有正確匹配的花括號的固定版本:
public static void printleap()
{
try (Scanner sc1=new Scanner(System.in))
{
System.out.println("This programe calculates leap year.");
System.out.print("Enter the year:");
int year= sc1.nextInt();
if((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0)))
{
System.out.println(year +"is a leap year.");
}
else
{
System.out.println(year + " is not a leap year.");
}
}
}
編輯:還更新了if語句以使用下面的答案的條件,因為初始代碼中的確存在缺陷。 year年必須被4整除,但如果被100整除的年份也可以被400整除。
你的情況不對...
一定是
if((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0)))
您的邏輯(使用if
和else if
)應如下所示:
if ( year%400 == 0)
System.out.println(year+ " is leap year");
else if ( year%100 == 0)
System.out.println(year+ " is NOT leap year");
else if ( year%4 == 0 )
System.out.println(year+ " is leap year");
else
System.out.println(year+ " is NOT leap year");
有一個課程 。
Year.now()
.isLeap()
最好總是指定所需/期望的時區,而不是隱式依賴JVM的當前默認時區。
Year.now( ZoneId.of( "Europe/Paris" ) )
.isLeap()
或指定年份。
Year.of( 2017 )
.isLeap()
java.time框架內置於Java 8及更高版本中。 這些類取代了麻煩的舊的舊式日期時間類,例如java.util.Date
, Calendar
和SimpleDateFormat
。
現在處於維護模式的Joda-Time項目建議遷移到java.time類。
要了解更多信息,請參見Oracle教程 。 並在Stack Overflow中搜索許多示例和說明。 規格為JSR 310 。
在哪里獲取java.time類?
ThreeTen-Extra項目使用其他類擴展了java.time。 該項目為將來可能在java.time中添加內容提供了一個試驗場。 您可以在這里找到一些有用的類,比如Interval
, YearWeek
, YearQuarter
,和更多 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.