编写Java程序。当以年月日的格式输入一个日期时,输出该年是否是闰年,该月有几天,该日是星期几

2024-11-07 06:03:25
推荐回答(2个)
回答(1):

public static void main(String[] args) throws ParseException {
System.out.println("输入一个日期");
Scanner input=new Scanner(System.in);
String day=input.nextLine();
SimpleDateFormat a=new SimpleDateFormat("yyyy-MM-dd");
Date date=a.parse(day);
Calendar c=Calendar.getInstance();
//设置以指定日期的日历
c.setTime(date);
int year=c.get(Calendar.YEAR);//年份
int month=c.get(Calendar.MONTH)+1;//月份

int days=c.get(Calendar.DAY_OF_YEAR);//一年的第几天
if ((year%4==0 && year%100!=0)||year%400==0) {
System.out.println("闰年");
switch (month) {
    case 1:
case 3:
case 5:
System.out.println("31天");
break;
case 2:

default:
break;
}
}
else  {
System.out.println("平年");
}

switch (days%7) {
case 1:

break;
case 2:
break;
default:
break;
}
}

给你写一部分  剩下的自己补充  懒得写了

回答(2):

package day03;
import java.util.Calendar;
import java.util.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Scanner;
public class LeapYear {
public static void main(String[] args) throws ParseException {
Scanner scan=new Scanner(System.in);
String input=scan.nextLine();
SimpleDateFormat fmt= new SimpleDateFormat("yyyy-M-d");
Date time=fmt.parse(input);
Calendar cal=Calendar.getInstance();
cal.setTime(time);
int year=cal.get(Calendar.YEAR);
System.out.println(year);
boolean flag=(year%4==0&&year%100!=0)||year%400==0;
String str=flag?year+"是闰年":year+"不是闰年";
System.out.println(str);
int weekInt=cal.get(Calendar.DAY_OF_WEEK);
switch(weekInt) {
case 1:
System.out.println("星期日");
break;
case 2:
System.out.println("星期一");
break;
case 3:
System.out.println("星期二");
break;
case 4:
System.out.println("星期三");
break;
case 5:
System.out.println("星期四");
break;
case 6:
System.out.println("星期五");
break;
case 7:
System.out.println("星期六");
break;
}
}
}
大哥 你知道你悬赏的有多么少么。这道题当送你,可以不采纳,以前做过的代码!
包名改成你自己用的 导入的包别导入错了,输入的日期 2017-12-20 这种格式!