JAVA實(shí)現(xiàn)的簡單萬年歷代碼
更新時(shí)間:2015年10月21日 11:24:56 作者:hacker0825
這篇文章主要介紹了JAVA實(shí)現(xiàn)的簡單萬年歷代碼,涉及Java日期操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
本文實(shí)例講述了JAVA實(shí)現(xiàn)的簡單萬年歷。分享給大家供大家參考,具體如下:
import java.util.Scanner;
public class PrintCalendar {
public static void main(String[] args) {
int years = 0;
int month = 0;
int days = 0;
boolean isRun = false;
//從控制臺(tái)輸入年,月
Scanner input = new Scanner(System.in);
System.out.print("請(qǐng)輸入年份:");
years = input.nextInt();
System.out.print("請(qǐng)輸入月份:");
month = input.nextInt();
System.out.println("\n*********"+years+"年"+month+"月 日曆表************");
//判斷是否是閏年
if((years % 4 == 0 && years % 100 != 0) || (years % 400 == 0)){
isRun = true;
}
int totalDays = 0; //累計(jì)天數(shù)
//計(jì)算距離1900年1月1日的天數(shù)
for(int i = 1900; i < years; i++){
if((i % 4 == 0 && i % 100 != 0) || (i % 400 == 0)){
totalDays = totalDays + 366;
}else{
totalDays = totalDays + 365;
}
}
int beforeDays = 0;
//根據(jù)月份判斷天數(shù)
for(int j = 1; j <= month; j++){
switch(j){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
case 2:
if(isRun){
days = 29;
}else{
days = 28;
}
default:
System.out.println("輸入月份不正確!!");
}
if(j < month){
beforeDays = beforeDays + days;
}
}
totalDays = totalDays + beforeDays; //統(tǒng)計(jì)到目前總天數(shù)
int firstDayOfMonth = 0;
int temp = 1 + totalDays % 7 ;
if(temp == 7){
firstDayOfMonth = 0; //週日
}else{
firstDayOfMonth = temp;
}
/* 輸出日歷 */
System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");
for(int k = 0; k < firstDayOfMonth; k++){
System.out.print("\t");
}
for(int m = 1; m <= days; m++){
System.out.print( m + "\t");
if((totalDays + m) % 7 == 6){
System.out.print("\n");
}
}
}
}
關(guān)于萬年歷的制作感興趣的朋友還可參考本站在線工具:
希望本文所述對(duì)大家Java程序設(shè)計(jì)有所幫助。
相關(guān)文章
SpringCloud Ribbon 負(fù)載均衡的實(shí)現(xiàn)
Ribbon是一個(gè)客戶端負(fù)載均衡器,它提供了對(duì)HTTP和TCP客戶端的行為的大量控制。這篇文章主要介紹了SpringCloud Ribbon 負(fù)載均衡的實(shí)現(xiàn),感興趣的小伙伴們可以參考一下2019-01-01
JVM用寄存器實(shí)現(xiàn)程序計(jì)數(shù)
這篇文章主要介紹了JVM用寄存器實(shí)現(xiàn)程序計(jì)數(shù),JVM中的程序計(jì)數(shù)寄存器(Program Counter Register),Register的命名源于CPU的寄存器,寄存器存儲(chǔ)指令相關(guān)的現(xiàn)場(chǎng)信息。CPU只有把數(shù)據(jù)裝載到寄存器才能夠運(yùn)行2023-02-02
Spring Boot Admin微服務(wù)應(yīng)用監(jiān)控的實(shí)現(xiàn)
這篇文章主要介紹了Spring Boot Admin微服務(wù)應(yīng)用監(jiān)控,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
Mybatis Plus條件構(gòu)造器ConditionConstructor用法實(shí)例解析
這篇文章主要介紹了Mybatis Plus條件構(gòu)造器ConditionConstructor用法實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08

