溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

java如何制作萬(wàn)年歷

發(fā)布時(shí)間:2021-06-17 12:50:20 來(lái)源:億速云 閱讀:174 作者:小新 欄目:編程語(yǔ)言

這篇文章給大家分享的是有關(guān)java如何制作萬(wàn)年歷的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

完成萬(wàn)年歷的制作需要用到數(shù)組、循環(huán)等知識(shí)。

編程計(jì)算輸入的月份距離1900年1月1日的天數(shù),求出當(dāng)前月之前的總天數(shù)(不包含當(dāng)前輸入月分的天數(shù),)

編程計(jì)算輸入月份的第一天是星期幾,(公式:星期幾=1+天數(shù)差%7)。

import java.util.Scanner; 
public class Calendar{ 
   
  public static void main(String[] args){ 
     
    int year; 
    int month; 
    int totaldays=0; 
     
    Scanner sc=new Scanner(System.in); 
     
    System.out.println("請(qǐng)輸入年"); 
    year=sc.nextInt(); 
    System.out.println("請(qǐng)輸入月"); 
    month=sc.nextInt(); 
     
     
    //計(jì)算年的總天數(shù) 
    for(int i=1900;i<year;i++){ 
      if((i%400==0)||(i%4==0&&i%100!=0)){ 
        totaldays+=366; 
      }else{ 
        totaldays+=365; 
      } 
    } 
     
    //距離1900年1月1好的總天數(shù) 
    totaldays+=monthdays(month,year); 
    //System.out.println(totaldays); 
    System.out.println("-------------"+year+"年"+month+"月日歷為---------------"); 
    //開(kāi)頭 
    System.out.println("星期日\(chéng)t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t"); 
     
    //該月第一天是星期幾,星期幾前面就空幾格 
    int x=1+totaldays%7; 
     
    if(x==7){ 
      x=0; 
    } 
    for(int i=0;i<x;i++){ 
      System.out.print(" \t"); 
    } 
     
    int days=monthday(month,year); 
     
    int i=1; 
    while(i<=days){ 
      System.out.print(i+"   \t"); 
      if((i+x)%7==0){ 
        System.out.println(); 
      } 
      i++; 
    } 
     
  } 
  //月份總天數(shù) 
  public static int monthdays(int month,int year){ 
    int totaldays=0; 
    for(int i=1;i<month;i++){ 
      totaldays+=monthday(i,year); 
    } 
    return totaldays; 
  } 
   
  //某月天數(shù) 
  public static int monthday(int month,int year){ 
 
    if((year%400==0)||(year%4==0&&year%100!=0)){ 
      int[] arr={0,31,29,31,30,31,30,31,31,30,31,30,31}; 
      return arr[month];  
    }else{ 
      int[] arr={0,31,28,31,30,31,30,31,31,30,31,30,31}; 
      return arr[month]; 
    } 
   
  } 
   
}

java如何制作萬(wàn)年歷

感謝各位的閱讀!關(guān)于“java如何制作萬(wàn)年歷”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI