精华内容
下载资源
问答
  • java简单的万年历

    2020-09-06 12:25:26
    import java.util.Scanner; public class Tw { public static void main(String[] args) { // 12、独立完成万年历。 Scanner mys =new Scanner(System.in); System.out.println("输入年份:"); int ...

    万年历

    package com.zking.temp;
    
    import java.util.Scanner;
    
    public class Tw {
    	public static void main(String[] args) {
    		
    //		12、独立完成万年历。 	
    		Scanner mys =new Scanner(System.in);
    		System.out.println("输入年份:");
    		int year = mys.nextInt();
    		System.out.println("输入月份");
    		int month = mys.nextInt();
    		
    		/*
    		 * 求当month月的总天数
    		 */
    		int z =0;//保存month月的总天数
    		if (month==1||month==3||month==5||month==7||month==8||month==10||month==12) {
    			z+=31;//31天
    		}else if (month==4||month==6||month==9||month==11) {
    			z+=30;//30天
    		}else {//2月至少有28天
    			z+=28;//28天
    			if (year%4==0&&year%100!=0||year%400==0) {//闰年的2月有29天
    				z++;//闰年的2月加一天
    				
    			}
    		}
    		/*
    		 * 打month月第一天是星期几
    		 */
    		int sum=0;
    		for (int i = 1900; i < year; i++) {
    			sum+=365;//一年365天
    			if(i%4==0&&i%100!=0||i%400==0) {//闰年
    			sum++;//闰年有366天
    			}
    		}
    		/*
    		 * 求一月到month-1月的天数
    		 */
    		
    		for (int i = 1; i <month; i++) {
    			if (i==1||i==3||i==5||i==7||i==8||i==10||i==12) {
    				sum+=31;//31天
    			}else if (i==4||i==6||i==9||i==11) {
    		        sum+=30;//30天
    			}else {
    				sum+=28;//至少每月有28天
    				if(year%4==0&&year%100!=0||year%400==0) {
    					sum++;//闰年加一天
    				}
    			}
    		}
    		//把month月的第一天加进去
    	//求出month月的第一天星期几
    		sum++;
    	int w =sum%7;
    		/*
    		 * 打印万年历
    		 */
    		System.out.println("日\t一\t二\t三\t四\t五\t六");	
    		for (int b = 1; b <=w; b++) {
    			System.out.print("\t");
    		}
    		for (int b = 1; b <=z; b++) {
    			System.out.print (b+"\t");
    			if ((b+w)%7==0) {
    				System.out.println();
    		} 
    		
    			}
    	}
    
    }
    
    
    展开全文
  • Java简单的万年历

    2010-08-21 11:53:20
    只是用于1900年以后查询,应用到了循环。适合初学者应用,这个没用注释,不过可以看懂。
  • java的万年历 简单的java的万年历 简单的java的万年历 简单的java的万年历 简单的java的万年历 简单的java的万年历 简单的java的万年历 简单的java的万年历 简单的java的万年历 简单的java...
  • 初学者应该学的简单的万年历 calendar java 万年历
  • 这是一个简单的java编写的万年历,用来练习java中几种循环的使用,这简单的循环功能却是java最最重要,最最基础的功能。
  • 自己用Java写的一个小的万年历应用,可以完美运行。功能比较简单,希望对你能有帮助
  • java简单万年历

    2019-04-02 17:56:13
    万年历 ... import java.util.Scanner; /** * ...使用基础的java代码输出日历 / public class Demo { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out....

    万年历

    package com.tesd.demo;

    import java.util.Scanner;

    /**
    *

    • @author 杨光

    • 使用基础的java代码输出日历
      /
      public class Demo {
      public static void main(String[] args)
      {
      Scanner s = new Scanner(System.in);
      System.out.println(“请输入年份”);
      int year = s.nextInt();
      System.out.println(“请输入一个月份”);
      int month = s.nextInt();
      printCalendar(year, month);
      }
      /

      • 打印日历
        */
        private static void printCalendar(int year, int month)
        {
        // 打印表头
        System.out.println(“星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六”);
        // 打印数字
        // 1,空格的数量
        int kongGe = getKongGeCount(year, month);
        // 输出空格
        for (int i = 1; i <= kongGe; i++)
        {
        System.out.print("\t");
        }
        // 解决当1~7日全为上一月的天数时出现的时间跳转问题
        if (kongGe == 7)
        {
        System.out.println();
        }
        // 输出数字
        for (int i = 1; i <= getDaysOfMonth(year, month); i++)
        {
        System.out.print(i + “\t”);
        if ((i + kongGe) % 7 == 0)
        {
        System.out.println();
        }
        }
        }

      // 获取空格的数量
      private static int getKongGeCount(int year, int month)
      {
      int count = getDaysOfAll(year, month) % 7 + 1;
      return count;
      }

      // 所有的天数
      private static int getDaysOfAll(int year, int month)
      {
      // 整年的天数 + 整月的天数
      int sum = 0;
      // 1,整年的天数
      for (int i = 1900; i < year; i++)
      {
      sum += isLoopYear(i) ? 366 : 365;
      }
      // 2,整月的天数
      for (int i = 1; i < month; i++)
      {
      sum += getDaysOfMonth(year, i);
      }

       return sum;
      

      }

      /**

      • 获取整月的天数
      • @param year
      • @param month
      • @return day
        */
        private static int getDaysOfMonth(int year, int month)
        {
        int day = 0;
        switch (month)
        {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
        day = 31;
        break;
        case 4:
        case 6:
        case 9:
        case 11:
        day = 30;
        break;
        case 2:
        day = isLoopYear(year) ? 29 : 28;
        break;
        }
        return day;
        }

      // 判断是否是闰年
      private static boolean isLoopYear(int year)
      {
      if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
      {
      return true;
      }
      else
      {
      return false;
      }
      }
      }

    展开全文
  • 基于JAVA的简单万年历

    2009-12-06 13:59:56
    import java.io.*; class putout{ public void putout(int f,int x,int y){ int i; int a[]= new int[40]; System.out.println(" 日 一 二 三 四 五 六 "+" "+f+"月"); for (i=0;i;i++) {System.out.print(" ...
  • java简单万年历

    2008-11-22 01:29:38
    java语言编写的万年历小程序,只有阳历,界面美观。
  • java的简单万年历

    2009-05-21 09:34:35
    java 制作万年历的简单算法,及控制台输出格式控制
  • Java简单万年历

    2015-09-08 23:09:47
    1.输入年份和月份,在控制台打印出本年本月日历效果图如下:2.我感觉最关键地方有两点:第一:设立一个容易计算时间节点 ...import java.util.Scanner;/** * 万年历 * @author 李广亮 */ public class Cale

    1.输入年份和月份,在控制台打印出本年本月的日历

    效果图如下:

    这里写图片描述

    2.我感觉最关键的地方有两点:

    第一:设立一个容易计算的时间节点
    第二:判断哪年哪月的第一天是周几

    如果这两个都做好了的话,接下来就很容易了,具体代码如下:

    package com.lgl.day02;
    
    import java.util.Scanner;
    
    /**
     * 万年历
     * @author 李广亮
     */
    public class CalendarTest {
    
        /**
         * 判断是否为闰年
         * 条件一:年份能被4整除,但不能被100整除
         * 条件二:能被400整除
         */
        public static boolean isLeapYear(int year) {
            if((year%4 == 0 && year%100 != 0) || (year%400 == 0)) {
                return true;
            } else {
                return false;
            }
        }
    
        /**
         * 计算哪年哪月有多少天
         */
        public static int daysOfMonthOfYear(int year, int month) {
    
            int day = 0;
            switch (month) {
                case 1: //大月31天
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:
                    day = 31;
                    break;
                case 4: //小月30天
                case 6:
                case 9:
                case 11:
                    day = 30;
                    break;
                case 2: //若是二月的话,判断一下是否为闰年
                    if(isLeapYear(year)) {
                        day = 29;
                    } else {
                        day = 28;
                    }
                    break;
    
                default:
                    break;
                }
            return day;
        }
    
        /**
         * 判断哪年哪月的第一天
         */
        public static int whatDayOfMonth(int year, int month) {
    
            int firstDay = 0;
            int days = 0;
            //设置1951-01-01 (星期一)为时间基点
            //最好以1582年3月1日以后的日期为基点,因为这天是格里高利日立正式颁发的日子
            //1951年1月1号距离本年1月1号的天数
            for(int i=1951; i<year; i++) {
                if(isLeapYear(i)) {
                    days = days + 366;
                } else {
                    days = days + 365;
                }
            }
            //本年1月1号距离上月月末的天数
            for(int j=1; j<month; j++) {
                days = days + daysOfMonthOfYear(year, j);
            }
            //System.out.println(days);
            firstDay = days % 7;
            //System.out.println(firstDay);
            return firstDay;
    
        }
    
        /**
         * @param args
         */
        public static void main(String[] args) {
    
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入年份:");
            int year = sc.nextInt();
            System.out.println("请输入月份:");
            int month = sc.nextInt();
            sc.close();
    
            System.out.println("******万**年**历******");
            System.out.println("******" + year + "年" + month + "月" + "******");
    
            System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t");
            int times = 0;
            for(int i=0; i<=whatDayOfMonth(year, month); i++) {
                System.out.print("\t");
                times++;
            }
            for(int j=1; j<=daysOfMonthOfYear(year, month); j++) {
                System.out.print(j + "\t");
                times++;
                if(times % 7 == 0) {
                    System.out.println();
                }
            }       
        }
    
    }
    
    展开全文
  • java实现简单万年历

    千次阅读 2018-07-17 20:22:10
    思路: 1、算出当前月份第一天与1900/1/1 天数之差 day  ...import java.util.Calendar; import java.util.Scanner; public class Test { public static void main(String[] args) { ...

    思路:

    1、算出当前月份的第一天与1900/1/1 的天数之差 day 

    2、将day%7得到当前月的第一天是星期几

    3、循环打印日历

    代码实现:

    import java.util.Calendar;
    import java.util.Scanner;
    
    public class Test {
    	
    	public static void main(String[] args) {
    		Scanner input = new Scanner(System.in);
    		//1.万年历
    		//实例化两个日历对象,一个设置为1900/1/1 一个设置为你要查询的日期
    		Calendar calendar1 = Calendar.getInstance();
    		Calendar calendar2 = Calendar.getInstance();
    		//年、月
    		int year,month;
    		System.out.print("请输入年、月:");
    		year = input.nextInt();
    		month = input.nextInt();
    		//分别设置两个日历的年份和月份
    		calendar1.set(year,month,1);
    		calendar2.set(1900,1,1);
    		//月份从0开始,所以设置月份就需要月份-1
    		calendar1.set(Calendar.MONTH,month-1);
    		int day = getDaysBetween(calendar1,calendar2);
    		//将天数差%7得到当前月份第一天是星期几
    		day %= 7;
    		System.out.println("一\t二\t三\t四\t五\t六\t日");
    		//如果day%7==0,表示当前月份第一天是星期日
    		if(day == 0)
    			day=7;
    		//输出day-1个\t
    		for(int i = 1; i < day; i++){
    			System.out.print("\t");
    		}
    									//getActualMaximum 获得该月份中天数的最大值
    		for(int i = 1; i <= calendar1.getActualMaximum(Calendar.DAY_OF_MONTH); i++){
    			System.out.print(i + "\t");
    			if((i+day-1)%7 == 0)		//当 (i+day-1)%7 == 0 时,表示当天为星期日,需要换行
    				System.out.println();
    		}
        }
    	/**
    	 * 获得两个日期间天数差
    	 * @param day1	日期1   用户查询日期
    	 * @param day2	日期2 1900/1/1
    	 * @return 天数差
    	 */
    	public static int getDaysBetween(Calendar day1,Calendar day2){
    		//得到当前时间在一年中的天数
    		int days = day1.get(Calendar.DAY_OF_YEAR);
    		//获得用户输入的年份
    		int y1 = day1.get(Calendar.YEAR);
    		//计算1900/1/1日 与 y1/1/1日的天数差
    		if(day2.get(Calendar.YEAR) != y1){
    			day2 = (Calendar)day2.clone();
    			do{
    				days += day2.getActualMaximum(Calendar.DAY_OF_YEAR);
    				day2.add(Calendar.YEAR, 1);
    			}while(day2.get(Calendar.YEAR) != y1);
    		}
    		return days;
    	}
    }

    结果:

     

     

     

    展开全文
  • java编写的万年历

    2014-08-17 16:38:54
    java 编写的万年历,最简单的编法。里面具有详细的注释,便于学习者学习
  • Java输出简单万年历

    2017-02-22 19:30:05
    1900年1月1日为星期一,这里将制作从1900年开始日历。public class Calendar{ public static void main(String[] args){ Calendar cal = new Calendar(); cal.printCalendar(2017); } void printHeader(int y
  • java的简单万年历

    2009-01-06 21:29:53
    java的简单万年历 可以查询你想要具体年份是星期几
  • java-简单实现万年历

    2020-08-22 11:04:49
    –根据这个周几我们来制作7个一换行的万年历–如何算周几,根据用户输入的年月,判别距离1900-1-1的总天数–判别年份距离天数/月份距离本年天数–前者判别闰年/后者判别闰月–判别输入月份距离1月的天数–需要判别闰年...
  • import java.util.Scanner; public class PrintCalendarDemo1 { public static void main(String[] args) { int year;//保存输入年 int month;//保存输入月 boolean isRn;//闰年保存true,...
  • Java小日历,实现简单的万年历功能 源码下载
  • 学习java的简单例子之万年历

    千次阅读 2014-08-25 20:14:14
    java 练手 万年历
  • Java编写的万年历源代码,一个简单的小程序
  • import java.util.Scanner; public class allday { public static int textDay(int year){ //以1999年为起始年份(1999.12.31为星期五) //用户输入年份那一年总天数 int alldays = 0; if (year % 400 == ...
  • import java.util.Scanner; public class WanNianLi { public static void main(String[] args) { System.out.println("欢迎使用小鸟万历"); Scanner scanner = new Scanner(System.in); System.out...
  • java 简易的万年历

    2017-07-14 08:42:09
    今天写了一个简易的万年历,方法可能不是最简单的,希望有更简单的方法的朋友们能分享一下各自的方法
  • 简单JAVA语言编写的万年历系统源码 直接就是Eclipse 工程 直接用 完美中文注释 适合刚入门JAVA程序员
  • java做一个简单的万年历

    千次阅读 2017-07-15 12:31:49
    一个简单的万历表制作 简单介绍万历表的各功能实现: 1.首先键盘输入查询的年份和月份 Scanner sc = new Scanner(System.in); System.out.println("请输入年份"); int year = sc.nextInt(); System.out....
  • 下面小编就为大家带来一篇Java基础之打印万年历的简单实现(案例)。小编觉得挺不错,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • import java.util.Scanner; public class dayday { public static boolean yun(int y) { if(y%4==0&&y%100!=0||y%400==0) { return true; } else { return false; } } public ...
  • 简单JAVA语言编写的万年历系统源码 直接就是Eclipse 工程 直接用 完美中文注释 适合刚入门JAVA程序员

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 138
精华内容 55
关键字:

java简单的万年历

java 订阅