DOS万年历(循环的练习)

    xiaoxiao2021-03-25  117

    //万年历 import java.util.Scanner; class Calendar { /****************主程序*****************/ public static void main(String[] args) { System.out.println("输入年"); int year=input(); System.out.println("输入月"); int month=input(); System.out.println("星期日"+'\t'+"星期一"+'\t' +"星期二"+'\t'+"星期三"+'\t'+"星期四"+'\t'+ "星期五"+'\t'+"星期六"+'\t'); //int day=month_days(year,month); //System.out.println("年:"+year); //System.out.println("月:"+month); //System.out.println("日:"+day); //System.out.println(sum_days(year,month)); layout(year,month); } /********************一条华丽丽的分割线****************/ /**********************方法:输入***************************/ public static int input(){ Scanner sc=new Scanner(System.in); int num=sc.nextInt(); return num; } /********************一条华丽丽的分割线****************/ /*********************判断月份的天数******************/ public static int month_days(int x1,int x2){ switch(x2){ case 1: case 3: case 5: case 7: case 8: case 10: case 12:{ return 31;} case 4: case 6: case 9: case 11:{ return 30;} case 2:{ if((x1%4==0&&x1%100!=0)||(x1%400==0)){ return 29; }else{ return 28; } } default:{ return 0;} } } /***********************华丽丽的分割线*****************/ /**********************计算总天数*********************/ public static int sum_days(int m1,int m2){ int sum_days=0; for(int i=1900;i<m1;i++){ for(int j=1;j<=12;j++){ sum_days=sum_days+month_days(i,j); } } for(int k=1;k<=m2;k++){ sum_days=sum_days+month_days(m1,k); } return sum_days; } /**********************华丽丽的分割线*******************/ /*********************最后的布局************************/ public static void layout(int n,int m){ int xx=(sum_days(n,m)-month_days(n,m))%7; for(int i=0;i<=xx;i++){ System.out.print(" "+"\t"); } System.out.print(" "); for(int j=1;j<=month_days(n,m);j++){ System.out.print(" "+j+" "+'\t'+" "); if((xx+j+1)%7==0){ System.out.println(); System.out.print(" "); } } System.out.println(); } /**********************华丽丽的分割线*******************/ }
    转载请注明原文地址: https://ju.6miu.com/read-9037.html

    最新回复(0)