注: 根据网络视频资源做的小练习
6.简单日历(思路:1.求月份的第一天为星期几 对天数进行7取模 2.当月有多少天)
/*
*1900.1.1----2012.9.1
*/
public class rili {
publicstatic void main(String[] args){
intsum=0;
for(intyear=1900;year<=2011;year++){
if(year%4==0&& year%100!=0 || year%400==0){
sum+=366;
}else{
sum+=365;
}
}
for(intmonth=1;month<=8;month++){
if(month==2){
if(2016%4==0&& 2016%100!=0 || 2016%400==0){
sum+=29;
}else{
sum+=28;
}
}else{
if(month==4||month==6||month==9||month==11){
sum+=30;
}else{
sum+=31;
}
}
}
sum+=1;
int weekday=sum%7;
System.out.println("日\t一\t二\t 三\t四\t五\t六");
for(int i=1;i<=weekday;i++){
System.out.print("\t");
}
System.out.print("1");
}
} 结果:
日 一 二 三 四 五 六
1
修改版
/*
*1900.1.1----2012.9.1
*/
public class rili {
publicstatic void main(String[] args){
intsum=0;
for(intyear=1900;year<=2011;year++){
if(year%4==0&& year%100!=0 || year%400==0){
sum+=366;
}else{
sum+=365;
}
}
for(intmonth=1;month<=8;month++){
if(month==2){
if(2016%4==0&& 2016%100!=0 || 2016%400==0){
sum+=29;
}else{
sum+=28;
}
}else{
if(month==4||month==6||month==9||month==11){
sum+=30;
}else{
sum+=31;
}
}
}
sum+=1;
int weekday=sum%7;
System.out.println("日\t一\t二\t 三\t四\t五\t六");
for(int i=1;i<=weekday;i++){
System.out.print("\t");
}
for(int i=1;i<=30;i++){
if(sum%7==6){
System.out.print(i+"\n");
}else{
System.out.print(i+"\t");
}
sum++;
}
}
}
最终版:
import java.util.Scanner;
public classrili2 {
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.print("请输入年份:");
int year1=in.nextInt();
System.out.print("请输入月份:");
intmonth1=in.nextInt();
int sum=0;
for(intyear=1900;year<year1;year++){
if(year%4==0 && year%100!=0|| year%400==0){
sum+=366;
}else{
sum+=365;
}
}
for(int month=1;month<month1;month++){
if(month==2){
if(year1%4==0 &&year1%100!=0 || year1%400==0){
sum+=29;
}else{
sum+=28;
}
}else{
if(month==4||month==6||month==9||month==11){
sum+=30;
}else{
sum+=31;
}
}
}
int day=0;
if(month1==2){
if(year1%4==0 &&year1%100!=0 || year1%400==0){
day=29;
}else{
day=28;
}
}else{
if(month1==4||month1==6||month1==9||month1==11){
day=30;
}else{
day=31;
}
}
sum+=1;
int weekday=sum%7;
System.out.println("日\t一\t二\t三\t四\t五\t六");
for(int i=1;i<=weekday;i++){
System.out.print("\t");
}
for(inti=1;i<= day;i++){
if(sum%7==6){
System.out.print(i+"\n");
}else{
System.out.print(i+"\t");
}
sum++;
}
}
}