zoukankan      html  css  js  c++  java
  • 打印日历

    输入年份,月份,打印出该月日历表。

    :日历表从2000年起始。

    package repeat_job1;
    
    public class Calendar {
    	public Calendar(){}
    	private int []a={366,365,365,365};
    	public int number_Days(int m,int n)
    	{
    		int num1=((m-2000)/4)*1461;
    		int num2=0,sum_days=0;
    		for(int i=0;i<(m-2000)%4;i++)
    		{
    			num2+=a[i];
    		}
    		sum_days=num1+num2+number_Day(m,n);
    		return sum_days;
    	}
    	public int leapyear(int m)
    	{
    		if((m%4==0&&m%100!=0)||m%400==0)
    		{
    			return 29;
    		}
    		else 
    		{
    			return 28;
    		}
    	}
    	public int number_Day(int m,int n)
    	{
    		int r=0;
    		switch(n)
    		{
    		case 12:r+=30;
    		case 11:r+=31;
    		case 10:r+=30;
    		case 9:r+=31;
    		case 8:r+=31;
    		case 7:r+=30;
    		case 6:r+=31;
    		case 5:r+=30;
    		case 4:r+=31;
    		case 3:r+=leapyear(m);
    		case 2:r+=31;
    		case 1:r+=0;
    		}
    		return r;
    	}
    	public void print(int m,int n)
    	{
    		System.out.println("星期日"+"	"+"星期一"+"	"+"星期二"+"	"+"星期三"+"	"+"星期四"+"	"+"星期五"+"	"+"星期六");
    		int mod,day;
    		mod=(1+number_Days(m,n))%7;//为什么加1?
    		switch(mod)
    		{
    		case 2:System.out.print("");break;
    		case 3:System.out.print("");break;
    		case 4:System.out.print("	");break;
    		case 5:System.out.print("		");break;
    		case 6:System.out.print("			");break;
    		case 0:System.out.print("				");break;
    		case 1:System.out.print("					");break;
    		}
    		if(n==1||n==3||n==5||n==7||n==8||n==10||n==12)
    		{
    			
    			for(day=1;day<=31;day++)
    			{
    				mod=(number_Days(m,n)+day)%7;
    				switch(mod)
    				{
    				case 2:System.out.print(" "+day);break;
    				case 3:System.out.print("	"+day);break;
    				case 4:System.out.print("	"+day);break;
    				case 5:System.out.print("	"+day);break;
    				case 6:System.out.print("	"+day);break;
    				case 0:System.out.print("	"+day);break;
    				case 1:System.out.println("	"+day);break;
    		
    				}
    			}
    		}
    		else if(n==2)
    		{
    			for(day=1;day<=leapyear(m);day++)
    			{
    					mod=(number_Days(m,n)+day)%7;
    					switch(mod)
    					{
    					case 2:System.out.print(" "+day);break;
    					case 3:System.out.print("	"+day);break;
    					case 4:System.out.print("	"+day);break;
    					case 5:System.out.print("	"+day);break;
    					case 6:System.out.print("	"+day);break;
    					case 0:System.out.print("	"+day);break;
    					case 1:System.out.println("	"+day);break;
    					}
    				}
    			}
    			else{
    				for(day=1;day<=30;day++)
    				{	
    					mod=(number_Days(m,n)+day)%7;
    					switch(mod)
    					{
    					case 2:System.out.print(" "+day);break;
    					case 3:System.out.print("	"+day);break;
    					case 4:System.out.print("	"+day);break;
    					case 5:System.out.print("	"+day);break;
    					case 6:System.out.print("	"+day);break;
    					case 0:System.out.print("	"+day);break;
    					case 1:System.out.println("	"+day);break;
    					}
    				}
    			}
    	}
    }
    

      

    import repeat_job1.Calendar;
    import java.util.Scanner;
    public class Test2 {
        public static void main(String[] args)
        {
            Calendar ca=new Calendar();
            Scanner reader=new Scanner(System.in);
            System.out.println("请输入年份:");
            int m=reader.nextInt();
            System.out.println("请输入月份:");
            int n=reader.nextInt();
            reader.close();
            ca.print(m,n);
            
        }
    
    }
  • 相关阅读:
    各大代码托管服务器的分析比较
    《构建之法》读后
    【转】简单的程序诠释C++ STL算法系列之十五:swap
    【转】error while loading shared libraries: xxx.so.x" 错误的原因和解决办法
    C++大会感悟
    一次DDOS攻击引起的安全漫谈
    为npm设置代理,解决网络问题
    Rust 中的类型转换
    Rust 智能指针(二)
    软件设计原则
  • 原文地址:https://www.cnblogs.com/zyh2017/p/4996038.html
Copyright © 2011-2022 走看看