黑马程序员技术交流社区
标题:
自己写的程序-----不通过API查询某一天星期几(100%准确)
[打印本页]
作者:
knockout
时间:
2015-9-3 02:01
标题:
自己写的程序-----不通过API查询某一天星期几(100%准确)
/*
已知1990年1月1日星期一。求任意一个日期是周几。
用键盘输入获得年月日,获得总的天数,通过对7取余,然后加上星期一 获得相应的星期。
求出总的
*/
import java.util.Scanner;
class GetWeekDay
{
public static void main(String[] args)
{
getDate();
}
public static void getDate()
{
Scanner sc=new Scanner(System.in);
int year,month,day;
while(true)
{
System.out.println("请输入年:");
year=sc.nextInt();
if(year<1900)
{
System.out.println(" 请重新输入一个1900年之后的年份。");
}
else
{
break;
}
}
while(true)
{
System.out.println("请输入月:");
month=sc.nextInt();
if(month<=0||month>12)
{
System.out.println("月份错误,重新输入。");
}
else
{
break;
}
}
while(true)
{
System.out.println("请输入日:");
day=sc.nextInt();
if(day<=0||day>getDays(year,month))
{
System.out.println("日期不存在,重新输入。");
}
else
{
break;
}
}
getWeekDay(year,month,day);
}
public static void getWeekDay(int year,int month,int day)
{
int sumDays=0;
for (int i=1900;i<year ;i++ )
{
for(int j=1;j<=12;j++)
{
sumDays+=getDays(i,j);
}
}
for(int k=1;k<month;k++)
{
sumDays+=getDays(year,k);
}
sumDays=sumDays+day-1; //获得天数差
String tian;
switch((sumDays%7+1)) //将数字转换成星期几
{
case 1:
{
tian="星期一";
break;
}
case 2:
{
tian="星期二";
break;
}
case 3:
{
tian="星期三";
break;
}
case 4:
{
tian="星期四";
break;
}
case 5:
{
tian="星期五";
break;
}
case 6:
{
tian="星期六";
break;
}
default:
{
tian="星期天";
break;
}
}
System.out.println(year+"年"+month+"月"+day+"日是"+tian+"。");
}
//判断闰年
public static boolean judgeYear(int year)
{
if(year%4==0&&year%100!=0||year%400==0)
{
return true;
}
return false;
}
//判断每个月的天数。
public static int getDays(int year,int month)
{
int days;
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
{
days=31;
}
else if (month==2)
{
if(judgeYear(year)==true) //调用 判断是否闰年函数,来获得2月的天数。
{
days=29;
}
else
{
days=28;
}
}
else
{
days=30;
}
return days;
}
}
复制代码
完全自己写的小程序,不通过系统提供的API实现查询某一天是星期几。大家可以模仿练练代码。
作者:
至尊幽蓝
时间:
2015-9-3 07:27
很犀利啊!!
作者:
freehello
时间:
2015-9-3 07:30
图像挺好
作者:
boboyuwu
时间:
2015-9-3 08:33
赞赞赞赞赞
作者:
knockout
时间:
2015-9-4 00:05
必须赞啊 很多人多不知道api怎么实现的
作者:
chensheng06
时间:
2015-9-4 07:23
不错不错。。
作者:
三分之一
时间:
2015-9-4 07:31
好强大……
作者:
knockout
时间:
2015-9-4 15:02
很好,很强大
作者:
淡忘初学者
时间:
2015-9-4 15:56
写得不错,赞一个
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2