黑马程序员技术交流社区
标题:
来看看
[打印本页]
作者:
龏鈊づ廱鵆ぐ
时间:
2013-10-20 19:45
标题:
来看看
本帖最后由 龏鈊づ廱鵆ぐ 于 2013-10-21 19:16 编辑
输入某年某月某日计算这一天是这一年的第几天星期几
作者:
漫步人
时间:
2013-10-20 22:48
int sum(int month,int day)
{
int days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int i;
for(i=1;i<month;i++)
day+=days
;
return(day);
}
int leap(year)
{
int leap=0;
if((year%4==0&&year%100!=0)||(year%400==0))
leap=1;
return leap;
}
void main()
{
int year,month,day,num;
printf("Please input year,month,day:\n");
scanf("%d,%d,%d",&year,&month,&day);
num=sum(month,day);
if(leap(year)&&month>=3)
num++;
printf("It is the %dth day.\n",num);
}
希望能明白!经过测试的!
作者:
hyz123456
时间:
2013-10-20 23:43
import java.util.*;
class testDate
{
public static void main(String[] args)
{
String[] week = {"","星期日","星期一","星期二",
"星期三","星期四","星期五","星期六"};//数组用来查星期
Calendar c = Calendar.getInstance();
System.out.println("请输入要判断的日期!格式“YYYY-MM-DD”");
Scanner scan = new Scanner(System.in);
String str = scan.next();
String[] arr = str.split("-");
int year = Integer.parseInt(arr[0]);
int month = Integer.parseInt(arr[1])-1;
int day = Integer.parseInt(arr[2]);
c.set(year,month,day);
int date = c.get(Calendar.DAY_OF_WEEK);
String weekday = week[c.get(Calendar.DAY_OF_WEEK)];
System.out.println("输入的日期是"+year+"-"+(month+1)+"-"+day);
System.out.println("是"+weekday);
System.out.println("是这一年的第"+c.get(Calendar.DAY_OF_YEAR)+"天");
}
}
代码比较简单,输入的日期必须是存在的.....
作者:
ゞ心痛-τ._煩離
时间:
2013-10-20 23:53
本题要考虑二月份的闰年29天和平年28天问题故定义了两个数组来解决
import java.util.*;
import java.util.Scanner;
public class Test4{
public static void main(String[]args){
System.out.println("请输入年份");
Scanner in = new Scanner(System.in);
int year = in.nextInt();
System.out.println("请输入月份");
int month = in.nextInt();
System.out.println("请输入日期");
int day = in.nextInt();
int arr1[] = {31,28,31,30,31,30,31,31,30,31,30,31};//非闰年
int arr2[] = {31,29,31,30,31,30,31,31,30,31,30,31};//闰年
int totalDay = 0;
int day1 = 0;
if(year%100!=0&&year%4 == 0){
if(month<2){
System.out.println(year+"年"+month+"月"+day+"日是今年的第"+day+"天");
}else{
for(int i = 2;i <= month;i++){
day1 += arr2[i-2];
}
totalDay = day1 + day;
System.out.println(year+"年"+month+"月"+day+"日是今年的第"+totalDay+"天");}
}else{
if(month<2){
System.out.println(year+"年"+month+"月"+day+"日是今年的第"+day+"天");
}else{
for(int i = 2;i <= month;i++){
day1 += arr1[i-2];
}
totalDay = day1 + day;
System.out.println(year+"年"+month+"月"+day+"日是今年的第"+totalDay+"天");
}
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2