A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 专注的一批 中级黑马   /  2020-7-22 11:38  /  1801 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

第一步:做一个月,比如2020年1月第一天是星期三。

import java.util.Scanner;

public class TestRiLi {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

System.out.println("请输入年:");

int year = input.nextInt();

System.out.println("请输入月:");

int month = input.nextInt();

System.out.println("请输入这个月的第一天是星期几:");

int start = input.nextInt();

//解决第一个月开始天数为7的问题

if(start == 7){

start = 0;

}

//输出日历头

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

//输出没有日期的部分

for (int i = 1; i <= start; i++) {

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

}

//这里的31用上次做的求某年某个月的天数来做

//从这个月第一天开始输出,要求每七个换一行

for (int i = 1; i <= 31; i++) {

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

if((i+start)%7 == 0){

System.out.println();

}

}

}

}

//week_day = (allDay + 1) % 7;// 当月第一天星期几

第二步:把月的天数改成活的。
Axitrader返佣https://www.fx61.com/brokerlist/axitrader.html

import java.util.Scanner;

public class TestRiLi {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

System.out.println("请输入年:");

int year = input.nextInt();

System.out.println("请输入月:");

int month = input.nextInt();

System.out.println("请输入这个月的第一天是星期几:");

int start = input.nextInt();

//解决第一个月开始天数为7的问题

if(start == 7){

start = 0;

}

//输出日历头

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

//输出没有日期的部分

for (int i = 1; i <= start; i++) {

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

}

//这里的31用上次做的求某年某个月的天数来做

int days=0;

if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){

days=31;

//如果是小月就是30天

}else if(month==4||month==6||month==9||month==11){

days=30;

//如果是2月,则判断当年是否是闰年

}else if(month==2){

if(year%4==0&&year%100!=0||year%400==0){

days=29;

}else{

days=28;

}

}

//从这个月第一天开始输出,要求每七个换一行

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

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

if((i+start)%7 == 0){

System.out.println();

}

}

}

}

//week_day = (allDay + 1) % 7;// 当月第一天星期几

第三步:输入一整年,那就要知道这一年的一月的第一天是星期几,然后推算出每个月的第一天是星期几。

算法是:weekDay = (allDays + 1) % 7;//当月第一天星期几

那么所有的天数要计算出来,就是月天数累加,可以算出。

第四步:输入任何一年,任何一月,从1900年1月1日是星期一推算。然后推算出后面任何一年一月的第一天是星期几。

算法是:weekDay = (allDays + 1) % 7;//当月第一天星期几

那么所有的天数要计算出来,就是年天数累加,月天数累加,可以算出。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马