完成万年历的制作需要用到数组、循环等知识。
编程计算输入的月份距离1900年1月1日的天数,求出当前月之前的总天数(不包含当前输入月分的天数,)
编程计算输入月份的第一天是星期几,(公式:星期几=1+天数差%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(“请输入年”);
year=sc.nextInt();
System.out.println(“请输入月”);
month=sc.nextInt();
//计算年的总天数
for(int i=1900;i
if((i%400==0)||(i%4==0&&i%100!=0)){
totaldays+=366;
}else{
totaldays+=365;
}
}
//距离1900年1月1好的总天数
totaldays+=monthdays(month,year);
//System.out.println(totaldays);
System.out.println(“————-“+year+”年”+month+”月日历为—————“);
//开头
System.out.println(“星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t”);
//该月第一天是星期几,星期几前面就空几格
int x=1+totaldays%7;
if(x==7){
x=0;
}
for(int i=0;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++;
}
}
//月份总天数
public static int monthdays(int month,int year){
int totaldays=0;
for(int i=1;i
totaldays+=monthday(i,year);
}
return totaldays;
}
//某月天数
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 万年历_非常实用的java万年历制作方法分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/30976.html