日历小案列
来源:互联网 发布:淘宝上的安踏官方网店 编辑:程序博客网 时间:2024/06/03 06:37
注意,此代码运用了 取系统的当前时间跟 scanner差不多的,
还标记了,当前日
此日历在输出时运用的代码比前面的容易好多
import java.util.Calendar;
import java.util.Scanner;
import java.util.Random;//放在开头,跟Scanner 一样。
public class Test1{
public static void main(String []args){Scanner in =new Scanner(System.in);int year=0;do{System.out.println("请输入年份:");year= in.nextInt();}while(year<1900);int month=0;do{System.out.println("请输入月份:");month=in.nextInt();}while(month<1||month>12);int sum=getAllDys(year,month);int weekDay=sum%7;System.out.println(year+"年"+month+"月的一号是星期"+weekDay);System.out.println("总天数");System.out.println(sum);System.out.println("*********************************");System.out.println("星期天"+"\t"+"星期一"+"\t"+"星期二"+"\t"+"星期三"+"\t"+"星期四"+"\t"+"星期五"+"\t"+"星期六");for(int i=0;iSystem.out.print("\t");}int days= getDays(year,month);for(int i=1;i<=days;i++){if(isCurrentDay(year,month,i)){System.out.print("*"+i+"*"+"\t");}else{System.out.print(i+"\t");}if((i+weekDay)%7==0){System.out.println();}}System.out.println();}//判断是否为当前天public static boolean isCurrentDay(int year ,int month,int i){//取系统的当前时间,注意在最前面需要加个引用的头Calendar rightNow=Calendar.getInstance();//Calendar.YEAR 表示你要取得年的值int y=rightNow.get(Calendar.YEAR);int m=rightNow.get(Calendar.MONTH)+1;//Calendar.MONTH 表示 要取的月份 但是它是从0开始算得,所以得+1;int d=rightNow.get(Calendar.DAY_OF_MONTH);System.out.println(y+"" +m+""+d);//比较是否相同 与你输的 年月if(year==y && month==m && i==d){return true;}else{return false;}}public static int getAllDys(int year, int month){//求出1900 到 year -1那年的总天数//2求出 1到MOTH-1 月的天数//3再多加一个1(1号)int sum=0;for(int i=1900;iif(isRun( i)){sum+=366;}else{sum+=365;}}for(int i=1;isum+=getDays(year,i);}sum=sum+1;return sum;}public static boolean isRun( int year ){if( (year%4==0&&year0!=0)||(year@0==0) ){return true;}else{return false;}}public static int getDays( int year,int month){int days=0;switch( month){case 1:case 3:case 5:case 7:case 8:case 10:case 12: days=31;break;case 4:case 6:case 9:case 11:days=30; break;case 2:if(isRun( year)){days=29;}else{days=28;}break;}return days;}
}
0 0
- 日历小案列
- 日历
- 日历
- 日历
- 日历
- 日历
- 日历
- 日历
- 日历
- 日历
- 日历
- 日历
- 日历
- 日历
- 日历
- 日历
- 日历
- 日历
- uva 1086 - The Ministers' Major Mess(2 SAT)
- angularJS的controller之间如何正确的通信
- 黑马程序员——C语言之指针数组和数组指针的区别
- Error:Cannot build Artifact 'art_training:war exploded' because it is included into a circular depen
- C语言
- 日历小案列
- 枚举类型
- javaweb相关
- epoll简介
- hdu1203 01背包+简单概率论
- sql分组函数使用
- maven-最短路径
- Leetcode之快速划分应用一主元素
- 忆2015年辽宁省赛