真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java中萬年歷代碼 java萬年歷實(shí)驗(yàn)原理

java萬年歷源代碼是多少?

package org.java.test;

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括滎經(jīng)網(wǎng)站建設(shè)、滎經(jīng)網(wǎng)站制作、滎經(jīng)網(wǎng)頁制作以及滎經(jīng)網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,滎經(jīng)網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到滎經(jīng)省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

import java.util.Scanner;

public class CalendarTest{

public static void main(String[] args) {

System.out.println("歡 迎 使 用 萬 年 歷");

Scanner input = new Scanner(System.in);

System.out.print("\n請(qǐng)選擇年份: ");

int year = input.nextInt();

System.out.print("\n請(qǐng)選擇月份: ");

int month = input.nextInt();

System.out.println();

int days = 0; // 存儲(chǔ)當(dāng)月的天數(shù)

boolean isRn;

/* 判斷是否是閏年 */

if (year % 4 == 0 !(year % 100 == 0) || year % 400 == 0) { // 判斷是否為閏年

isRn = true; // 閏年

} else {

isRn = false;// 平年

}

/* 計(jì)算輸入的年份之前的天數(shù) */

int totalDays = 0;

for (int i = 1900; i year; i++) {

/* 判斷閏年或平年,并進(jìn)行天數(shù)累加 */

if (i % 4 == 0 !(i % 100 == 0) || i % 400 == 0) { // 判斷是否為閏年

totalDays = totalDays + 366; // 閏年366天

} else {

totalDays = totalDays + 365; // 平年365天

}

}

/* 計(jì)算輸入月份之前的天數(shù) */

int beforeDays = 0;

for (int i = 1; i = month; i++) {

switch (i) {

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

days = 31;

break;

case 2:

if (isRn) {

days = 29;

} else {

days = 28;

}

break;

default:

days = 30;

break;

}

if (i month) {

beforeDays = beforeDays + days;

}

}

totalDays = totalDays + beforeDays; // 距離1900年1月1日的天數(shù)

/* 計(jì)算星期幾 */

int firstDayOfMonth; // 存儲(chǔ)當(dāng)月第一天是星期幾:星期日為0,星期一~星期六為1~6

int temp = 1 + totalDays % 7; // 從1900年1月1日推算

if (temp == 7) { // 求當(dāng)月第一天

firstDayOfMonth = 0; // 周日

} else {

firstDayOfMonth = temp;

}

/* 輸出日歷 */

System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");

for (int nullNo = 0; nullNo firstDayOfMonth; nullNo++) {

System.out.print("\t"); // 輸出空格

}

for (int i = 1; i = days; i++) {

System.out.print(i + "\t");

if ((totalDays + i-1) % 7 == 5) { // 如果當(dāng)天為周六,輸出換行

System.out.println();

}

}

}

}

這是你要的萬年歷嗎?

JAVA萬年歷代碼

/*

題目:輸出任意年份任意月份的日歷表(公元后)

思路:

1.已知1年1月1日是星期日,1?%?7?=?1?對(duì)應(yīng)的是星期日,2?%?7?=?2?對(duì)應(yīng)的是星期一,以此類推;

2.計(jì)算當(dāng)年以前所有天數(shù)+當(dāng)年當(dāng)月1號(hào)之前所有天數(shù);

a.年份分平年閏年,平年365天,閏年366天;

b.閏年的判斷方法year?%?400?==?0?||?(year?%?100?!=?0??year?%?4?==?0)若為真,則為閏年否則為平年;

c.定義平年/閏年數(shù)組,包含各月天數(shù);

d.遍歷數(shù)組求和,計(jì)算當(dāng)年當(dāng)月前總天數(shù);

e.當(dāng)年以前所有天數(shù)+當(dāng)年當(dāng)月前總天數(shù)+1即為1年1月1日到當(dāng)年當(dāng)月1日的總天數(shù);

3.總天數(shù)對(duì)7取模,根據(jù)結(jié)果判斷當(dāng)月1號(hào)是星期幾,輸出空白區(qū)域;

4.輸出當(dāng)月日歷表,逢星期六換行

*/

import?java.util.Scanner;

class?FindMonthList?{

public?static?void?main(String[]?args){

Scanner?sc?=?new?Scanner(System.in);

System.out.println("請(qǐng)輸入年份:");

int?year?=?sc.nextInt();????????????//年份

if?(year??1)?{????????????????????????//判斷非法輸入年份

System.out.println("輸入錯(cuò)誤!");

return;

}

System.out.println("請(qǐng)輸入月份:");

int?month?=?sc.nextInt();????????????//月份

if?(month??1?||?month??12)?{????????//判斷非法輸入月份

System.out.println("輸入錯(cuò)誤!");

return;

}

//輸出表頭

System.out.println("-------"?+?year?+?"?年?"?+?month?+?"?月?"?+?"-------");

System.out.println();

System.out.println("日??一??二??三??四??五??六");

//計(jì)算當(dāng)前年份以前所有天數(shù)beforeYearTotalDay;每4年一個(gè)閏年,閏年366天,平年365天

int?beforeYearTotalDay?=?((year?-?1)?/?4?*?366)?+?(year-1?-?((year?-?1)?/?4))?*?365;

int[]?arrLeapYear?=?{0,31,29,31,30,31,30,31,31,30,31,30,31};????//閏年各月天數(shù)????int數(shù)組

int[]?arrNormalYear?=?{0,31,28,31,30,31,30,31,31,30,31,30,31};????//平年各月天數(shù)????int數(shù)組

int?beforeMonthTotalDay?=?0;????????????????????????????????????//定義本年當(dāng)月之前月份的總天數(shù)

if?(year?%?400?==?0?||?(year?%?100?!=?0??year?%?4?==?0))?{????//判斷當(dāng)前年份是否是閏年

for?(int?i?=?0?;?i??month?;?i?++?)?{????//for循環(huán)計(jì)算當(dāng)月之前總天數(shù)

//計(jì)算當(dāng)前月份之前的所有天數(shù)

beforeMonthTotalDay?=?beforeMonthTotalDay?+?arrLeapYear[i];

}

//判斷當(dāng)月1日是星期幾

int?totalDay?=?beforeYearTotalDay?+?beforeMonthTotalDay?+?1;

int?week?=?totalDay?%?7;//已知1年1月1日是星期日,即模7得1對(duì)應(yīng)的是星期日

for?(int?i?=?0?;?i??(week?-?1?+?7)?%?7?;?i?++)?{????//如果寫成i??(week-1)會(huì)出現(xiàn)i-1的情況

System.out.print("????");//輸出開頭空白

}

for?(int?i?=?1?;i?=?arrLeapYear[month]?;i?++?)?{????//for循環(huán)輸出各月天數(shù)

System.out.print(i?+?"??");

if?(i??10?)?{????????//小于10的數(shù)補(bǔ)一個(gè)空格,以便打印整齊

System.out.print("?");

}

if?(i?%?7?==?((7-(week?-?1))?%?7?)?||?i?==?arrLeapYear[month])?{//每逢星期六/尾數(shù)換行

System.out.println();

}

}

}?else?{????????//不是閏年就是平年

for?(int?i?=?0?;?i??month?;?i?++?)?{????//for循環(huán)計(jì)算出當(dāng)月之前月份總天數(shù)

beforeMonthTotalDay?=?beforeMonthTotalDay?+?arrNormalYear[i];

}

//判斷當(dāng)月1日是星期幾

int?totalDay?=?beforeYearTotalDay?+?beforeMonthTotalDay?+?1;

int?week?=?totalDay?%?7;//已知1年1月1日是星期日,即模7得1對(duì)應(yīng)的是星期日

for?(int?i?=?0?;?i??(week?-?1?+?7)?%?7?;?i?++)?{????//如果寫成i??(week-1)會(huì)出現(xiàn)i-1的情況

System.out.print("????");//輸出開頭空白

}

for?(int?i?=?1?;i?=?arrNormalYear[month]?;i?++?)?{//for循環(huán)輸出各月天數(shù)

System.out.print(i?+?"??");

if?(i??10?)?{????????????//小于10的數(shù)補(bǔ)一個(gè)空格,以便打印整齊

System.out.print("?");

}

if?(i?%?7?==?((7-(week?-?1))?%?7?)?||?i?==?arrNormalYear[month])?{//每逢星期六/尾數(shù)換行

System.out.println();

}

}

}

}

}

顯示效果:

java中,一段萬年歷代碼,跑起來總是差4天,修改之后也只能讓一部分月份的顯示正確,代碼如下

我改造了一下你的代碼 :

package?com.mikuma.calendar;

import?java.util.GregorianCalendar;

import?java.util.Scanner;

public?class?Calendar{

public?static?void?main(String[]?args){

int?year?=?0;

int?month?=?0;

Scanner?scanner?=?new?Scanner(System.in);

System.out.println("請(qǐng)輸入您要查詢的年份");

year?=?scanner.nextInt();

System.out.println("請(qǐng)輸入您要查詢的月份");

while?(true){

month?=?scanner.nextInt();

if?(month??0?||?month??12){

System.out.println("月份輸入有誤,請(qǐng)重新輸入");

}else{

break;

}

}

printPermanentCalendar(year,?month);

}

/**

*?輸出萬年歷

*?

*?@param?year

*?@param?month

*/

private?static?void?printPermanentCalendar(int?year,int?month){

int?days?=?0;

int?totaldays?=?0;//獲取1990年至查詢的年份的天數(shù)

for?(int?i?=?1900;?i??year;?i++){

totaldays?=?totaldays?+?(isLeapYear(i)???366?:?365);

}

int?beforedays?=?0;//到指定月份的天數(shù)

for?(int?i?=?1;?i?=?month;?i++){

switch?(i)?{

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:

days?=?isLeapYear(year)???29?:?28;

break;

default:

break;

}

if?(i??month){

beforedays?=?beforedays?+?days;

}

}

totaldays?=?totaldays?+?beforedays;//總計(jì)天數(shù),以判斷周幾;

int?weekDay?=?0;

int?temp?=?(1?+?totaldays)?%?7;

if?(temp?==?0){//1990年1月1日星期一,據(jù)此日0天星期一,以此類推

weekDay?=?0;

}else{

weekDay?=?temp;

}

System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");

for?(int?i?=?0;?i??weekDay;?i++){

System.out.print("\t");

}

for?(int?i?=?1;?i?=?days;?i++){

System.out.print(i?+?"\t");

if?((totaldays?+?i)?%?7?==?6){

System.out.print("\n");

}

}

}

private?static?boolean?isLeapYear(int?year){

return?new?GregorianCalendar().isLeapYear(year);

}

}

運(yùn)行:

對(duì)比了下 360日歷:

結(jié)果正確

我們?cè)贉y試下 2017 年 2月

對(duì)比 ?360 日歷

也是正確

編寫 萬年歷java代碼例如1900年一月一日是星期一。

import?java.util.Calendar;

import?java.util.Date;

import?java.util.Scanner;

public?class?MyCalendar

{

public?static?void?main(String[]?args)

{

Scanner?scanner?=?new?Scanner(System.in);

String?reg?=?"^(\\d+)[^\\d]+((0?[1-9])|(1[012]))$";

while(true)

{

System.out.println("輸入年月(年和月用非數(shù)字隔開:如2015.1)(什么都不輸入直接退出)");

String?line?=?scanner.nextLine().trim();

if("".equals(line))

{

scanner.close();

break;

}

if(!line.matches(reg))

{

continue;

}

int?year?=?Integer.parseInt(line.replaceAll(reg,?"$1"));

int?month?=?Integer.parseInt(line.replaceAll(reg,?"$2"));

System.out.println("日\t一\t二\t三\t四\t五\t六");

Calendar?calendar?=?Calendar.getInstance();

//?這個(gè)月的1號(hào)是星期幾

calendar.set(year,?month?-?1,?1);

int?day?=?calendar.get(Calendar.DAY_OF_WEEK);

int?start?=?Calendar.SUNDAY;

calendar.add(Calendar.DATE,?-day?+?start);

while(start??day)

{

System.out.print(calendar.get(Calendar.DATE)?+?"\t");

calendar.add(Calendar.DATE,?1);

start++;

}

calendar.set(year,?month?-?1,?1);

Date?now?=?calendar.getTime();

calendar.set(year,?month,?1);

Date?next?=?calendar.getTime();

for(Date?cur?=?now;?cur.before(next);)

{

calendar.setTime(cur);

int?x?=?calendar.get(Calendar.DATE);

String?tmp?=?x??10???"0"?+?x?:?x?+?"";

System.out.print(tmp?+?"\t");

if(calendar.get(Calendar.DAY_OF_WEEK)?==?Calendar.SATURDAY)

{

System.out.println();

}

calendar.add(Calendar.DATE,?1);

cur?=?calendar.getTime();

}

calendar.add(Calendar.DATE,?-1);

int?to?=?calendar.get(Calendar.DAY_OF_WEEK);

int?end?=?Calendar.SATURDAY;

while(to??end)

{

calendar.add(Calendar.DATE,?1);

int?x?=?calendar.get(Calendar.DATE);

String?tmp?=?x??10???"0"?+?x?:?x?+?"";

System.out.print(tmp?+?"\t");

to++;

}

System.out.println();

}

}

}


網(wǎng)站標(biāo)題:java中萬年歷代碼 java萬年歷實(shí)驗(yàn)原理
分享鏈接:http://weahome.cn/article/dosejgs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部