// 一道黑马的测试题,大神看来可能很简单的样子,不过确实把我纠结得要砸电脑了;希望有大神帮忙解决一下,
谢谢啦!!!!!!
问题是:编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,程序计算这一天是星期几,并且计算出是一年中的第几天。
下面是我写的一段代码:
public class Test9 {
public static void main(String[] args) {
//键盘录入
Scanner sc =new Scanner(System.in).useDelimiter("\\D");
System.out.println("请输入日期:");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM--dd ");
//throw new RunTimeException("输入格式不正确,请重新输入:");
//定义年月日
int year= sc.nextInt();
int month = sc.nextInt();
int date = sc.nextInt();
sc.close();
System.out.println("今天是"+year+"年的第"+analysis(year,month,date)+"天");
}
//判断天数
//判断天数
private static int analysis(int year, int month, int date){
int n = 0;
int[] month_date = new int[] {0,31,28,31,30,31,30,31,31,30,31,30};
if((year%400)==0 || ((year%4)==0)&&((year%100)!=0))
month_date[2] = 29;
for(int i=0;i<month;i++)
n += month_date[i];
return n+date;
}
}
// 上面的代码,可以实现获取某日是某年的第几天;但是关于获取星期几,并且直接用在代码中,试了好多方法都不行,求助求助!!!! |