公歷還是很簡單的

  1 import java.util.*;
  2 class  CalendarTest
  3 {
  4     /*先輸出提示語句,并接受用戶輸入的年、月。
  5     根據用戶輸入的年,先判斷是否是閏年。
  6     根據用戶輸入的年份來判斷月的天數。
  7     用循環計算用戶輸入的年份距1900年1月1日的總天數。
  8     用循環計算用戶輸入的月份距輸入的年份的1月1日共有多少天。
  9     相加計算天數,得到總天數。
 10     用總天數來計算輸入月的第一天的星期數。
 11 
 12     根據上值,格式化輸出這個月的日歷。*/
 13     public static void main(String[] args) 
 14     {
 15 //        System.out.println("Hello World!");
 16 
 17         Scanner sc= new Scanner(System.in);
 18 //*****************************************
 19                                 //先輸出提示輸入年、月。
 20         System.out.print("輸入年份:");
 21             int year=sc.nextInt();
 22         System.out.print("輸入月份:");
 23             int month=sc.nextInt();
 24 //*****************************************
 25                                 //是否是閏年。
 26         boolean comLeap=isLeapYear(year);
 27 //*****************************************
 28                                 //月的天數。
 29 
 30 System.out.println(year+"年"+month+"月有"+monthDayNum(month,comLeap)+"天");
 31 
 32                                 //1900年到輸入年總天數。
 33     int i=1900 ,j=0;
 34         while (i<year)
 35         {
 36         j+= isLeapYear(i)?366:365;
 37         i++;
 38         }
 39         
 40         System.out.println(year+"年距1900年1月1日已經"+j+"天");
 41 
 42 
 43                                 //計算輸入的月份距輸入的年份的1月1日共有多少天。
 44 int mDayNum=0;
 45 int a=0;
 46     for (int month1=1;month1<= month ;month1++ )//1月1日到輸入月1日天數
 47     { 
 48         mDayNum+=a;
 49         a=monthDayNum(month1,comLeap);
 50         
 51         //累加月天數
 52     }
 53 System.out.println(year+"年到"+month+"月有"+mDayNum+"天");
 54 
 55                                 //相加計算天數,得到總天數。
 56 int zDay=j+mDayNum;
 57 System.out.println(year+"年"+month+"月距1900年1月1日已經"+zDay+"天");
 58 
 59                                 //用總天數來計算輸入月的第一天的星期數。
 60 int starDay;
 61 /*if (zDay<1){starDay=1;}
 62 else{starDay=(zDay%7)+1;}*/
 63 starDay=zDay<1 ?1:(zDay%7)+1;
 64 System.out.println("今天是星期"+starDay);                                
                     //根據上值,格式化輸出這個月的日歷。 65 66 System.out.println("星期日 星期一 星期二 星期三 星期四 星期五 星期六"); 67 68 int hh=0;//記錄換行的地點 69 for (int sp=1;sp<=starDay ;sp++)//需要空出位置打印對應星期的日期 70 { 71 System.out.print(" "+"\t"); 72 hh++; 73 } 74 75 for (int l=1;l<=monthDayNum(month,comLeap) ;l++)//打印每月天數 76 { 77 78 System.out.print(" "+l+"\t"); 79 hh++; 80 while (hh==7) 81 {System.out.println(); 82 hh=0; 83 } 84 } 85 } 86 87 //***************************************** 88 //判斷是否是閏年。 89 static boolean isLeapYear(int year) 90 { 91 if ((year%4==0&& year%100!=0)||(year%400==0)) 92 {return true; 93 } 94 return false; 95 96 } 97 //***************************************** 98 //根據輸入的年份來判斷月的天數。 99 static int monthDayNum(int month,boolean comLeap) 100 { 101 int dayNum; 102 if (month>=8){dayNum= month%2==0?31:30;}//月份大于八月且奇數是30天 103 104 else if (month==2){dayNum= comLeap ?29:28;}//2月 用閏年返回值來 賦值天數 105 106 else dayNum=month%2!=0?31:30;//小于七月奇數是31天 107 108 return dayNum; 109 } 110 111 112 }

?

轉載于:https://www.cnblogs.com/coldDog/p/6395400.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/284662.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/284662.shtml
英文地址,請注明出處:http://en.pswp.cn/news/284662.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【測繪程序設計】坐標反算神器V1.0(附C/C#/VB源程序)

【拓展閱讀】:【測繪程序設計】坐標正算神器V1.0(附C/C#/VB源程序) 一、坐標反算原理 ?坐標反算:已知兩點坐標,反求邊長和方位角,稱為坐標反算。 原理坐標系: 計算公式: 二、C#程序實現 1. 界面設計 2

在二維數組中查找一個數

在一個二維數組中&#xff0c;每一行都按照從左到右遞增的順序排列&#xff0c;每一列也按照從上到下遞增的順序排列。在這樣一個序列中查找一個數1 2 8 92 4 9 124 7 10 136 8 11 15例如查找7&#xff0c;就從第一行的最左邊查找&#xff0c;9大于7&#xff0c;則9以下的也不用…

ASP.NET Core 6框架揭秘實例演示[01]: 編程初體驗

本篇提供的20個簡單的演示實例基本涵蓋了ASP.NET Core 6基本的編程模式&#xff0c;我們不僅會利用它們來演示針對控制臺、API、MVC、gRPC應用的構建與編程&#xff0c;還會演示Dapr在.NET 6中的應用。除此之外&#xff0c;這20個實例還涵蓋了針對依賴注入、配置選項、日志記錄…

DBeaverEE 21.1.0安裝指南

1、 安裝jdk11 2、 配置環境變量 將jdk11安裝目錄加入path&#xff1a;C:\Program Files\Java\jdk-11.0.10\bin3、 安裝DBEE 21.1 4、 將dbeaver-agent文件夾復制到DBEE安裝目錄 5、將DBEE安裝目錄下的jre目錄刪除或改名 6、 修改dbeaver.ini文件&#xff0c;在文件最后添加…

跟風學Docker之四:Docker網絡解決方案

2019獨角獸企業重金招聘Python工程師標準>>> 跟風學Docker之四&#xff1a;Docker網絡解決方案 博客分類&#xff1a; docker 前言&#xff1a;前面的部分一直都是單機跑docker&#xff0c;但實際生產環境不可能只用一臺來跑。肯定會用到多臺&#xff0c;因為他們都…

C++中數字和字符的轉換

參考&#xff1a;http://blog.csdn.net/xw20084898/article/details/21939811 http://nnssll.blog.51cto.com/902724/198237/ http://www.cnblogs.com/luxiaoxun/archive/2012/08/03/2621803.html 一、stringstream通常是用來做數據轉換的。 1、例如int轉string:#include <s…

【測繪程序設計】坐標方位角推算神器(C#版)

本文講解利用C#語言實現坐標方位角推算,附源碼贈送。 1. 神器效果展示 (1)連接角為左角 (2)連接角為右角 2. 方位角推算原理速遞 (1)原理示意圖

原型模式——創建型模式

2019獨角獸企業重金招聘Python工程師標準>>> 思路&#xff1a; 馬上又到找工作的時候了&#xff0c;當我們在準備一份份簡歷的時候有沒有考慮過這樣一個問題&#xff1f; 面對不同的工作崗位我們需要準備不同的求職簡歷&#xff0c;但是這樣的幾份不同的簡歷中還是有…

如何獲取 ASP.NET Core 當前啟動地址?

前言上次&#xff0c;我們介紹了配置ASP.NET Core啟動地址的多種方法。那么&#xff0c;如何通過代碼方式&#xff0c;獲取啟動后的地址&#xff1f;WebApplication.Urls 對象使用 WebApplication.Urls.Add 方法可以添加啟動地址。那么&#xff0c;使用 WebApplication.Urls 應…

【CASS精品教程】CASS9.1查詢功能大全(坐標、長度、面積、方位角)

文章目錄 1. 查詢指定點坐標2. 查詢兩點距離及方位3. 查詢線長4. 查詢實體面積CASS9.1中提供了查詢指定點坐標、查詢兩點距離及方位、查詢線長、查詢實體面積等查詢功能,如下圖所示: 本文以動畫演示的方式,對以上提到的功能進行講解。 1. 查詢指定點坐標 點擊【工程應用】…

自定義smokeping告警(郵件+短信)

前段時間接到公司IT同事需求&#xff0c;幫助其配置smokeping的告警功能&#xff0c;之前配置的姿勢有些問題&#xff0c;告警有些問題&#xff0c;現在調試OK&#xff0c;在此將關鍵配置點簡單記錄下。 關鍵的配置項主要有&#xff1a; 定義告警規則并配置將告警信息通過管道交…

WPF 實現抽屜菜單

分享一個WPF 實現抽屜菜單抽屜菜單作者&#xff1a;WPFDevelopersOrg原文鏈接&#xff1a;https://github.com/WPFDevelopersOrg/WPFDevelopers框架使用大于等于.NET40&#xff1b;Visual Studio 2022;項目使用 MIT 開源許可協議&#xff1b;更多效果可以通過GitHub[1]|碼云[2]…

selenium 定制啟動 chrome 的選項

2019獨角獸企業重金招聘Python工程師標準>>> selenium 定制啟動 chrome 的選項 博客分類&#xff1a; java 搜索引擎&#xff0c;爬蟲 使用 selenium 時&#xff0c;我們可能需要對 chrome 做一些特殊的設置&#xff0c;以完成我們期望的瀏覽器行為&#xff0c;比如…

平臺級 SAAS 架構的基礎:統一身份管理系統

業內在用戶統一身份認證及授權管理領域&#xff0c;主要關注 4 個方面&#xff1a;集中賬號管理&#xff08;Account&#xff09;、集中認證管理&#xff08;Authentication&#xff09;、集中授權管理&#xff08;Authorization&#xff09;和集中審計管理&#xff08;Audit&a…

【ArcGIS Pro微課1000例】0017:ArcGIS Pro 2.8制作炫酷的ETOPO1全球DEM地圖

ArcGIS Pro相對于ArcGIS,在制圖方面做了很大的提升,做出的地圖更加優美,本文講解基于NOAA的ETOPO1數據全球DEM數據制作炫酷的全球DEM地圖,先看效果再教學! 1. 效果展示 全球 澳大利亞大陸

Js中的for in

2019獨角獸企業重金招聘Python工程師標準>>> 后臺數據&#xff1a; List<Map<String, Object>> uTags query.selectAllList("velocity.userGetTags", map); 前端解析&#xff1a; for(var i in data.content){//由于這里是List[i](Map).IDc…

VMWare 安裝 Linux

參考 &#xff1a; http://www.aboutyun.com/thread-6780-1-1.html 這的是很詳細。贊一下 我這里就簡化一下。 1 下載&#xff1a; VMWare : https://download3.vmware.com/software/wkst/file/VMware-workstation-full-10.0.0-1295980.exe ubuntu : http://www.aboutyun…

【ArcGIS Pro微課1000例】0018:ArcGIS Pro 2.8通過OLE DB與個人數據庫建立連接案例

對于個人數據庫,Access程序可以直接打開。本文講解在ArcGIS Pro2.8中通過OLE DB與個人數據庫MDB建立聯系的方法與過程。 文章目錄 1. 個人數據庫準備2. OLE DB連接個人數據庫1. 個人數據庫準備 準備一個個人數據庫,在上面右鍵→復制文件地址。 文件地址為:"C:\test.md…

JAVA生成并導出json文件

將一個list集合轉換成json文件并導出&#xff1a; 數據集合&#xff1a;    List<Object> agencyList new ArrayList<Object>();Map<String, Object> agencyMap new HashMap<>();agencyMap.put("agencyName",agencyName);agencyMap.pu…

《ASP.NET Core 6框架揭秘》實例演示[02]:基于路由、MVC和gRPC的應用開發

ASP.NET Core可以視為一種底層框架&#xff0c;它為我們構建出了基于管道的請求處理模型&#xff0c;這個管道由一個服務器和多個中間件構成&#xff0c;而與路由相關的EndpointRoutingMiddleware和EndpointMiddleware是兩個最為重要的中間件。MVC和gRPC開發框架就建立在路由基…