Java语言程序设计期末实训考试范围练兵题-日期中星期问题

题目:

Java API提供了用于计算日期的Date和Calendar类型,也提供了用于格式化日期的SimpleDateFormat类型。通过恰当使用Java API能解决有关日期的实际应用问题。给你的问题是,通过提供形如”2022-11-09“的日期字符串,请你编程计算该日期后的n天是星期几。


输入:
    标准输入,标准输入多行,每行字符串第一部分为某天day的字符串形式,接下来为一个空格连接一个整数n。
输出:
    标准输出,每行的问题计算值使用一行输出,输出day日期后n天是星期几,星期输出使用Sunday、Monday、Tuesday、Wednesday、Thursday、Friday和Saturday表示星期日到星期六。

输入样列:
"2022-11-09" 1
"2022-11-09" -3
"2014-01-05" -5
"2014-10-13" 100  

输出样列:
Thursday
Sunday
Tuesday
Wednesday 


代码:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) throws ParseException {
        Scanner sc = new Scanner(System.in);
        String[] week = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
        while (sc.hasNext()){
            String str = sc.nextLine().trim();
            String s1 = str.substring(1,11).trim();
            int day = Integer.parseInt(str.substring(13));
            //定义日期or时间格式模板
            String pat = "yyyy-MM-dd";
            //创建SimpleDateFormat对象
            SimpleDateFormat sdf = new SimpleDateFormat(pat);
            //使用SimpleDateFormat对象的purse()方法将字符串格式化为Date对象
            Date time_begin = sdf.parse(s1);
            //调用Calendar类的静态方法getInstance(),获取Calendar实例
            Calendar calendar = Calendar.getInstance();
            //设置时间
            calendar.setTime(time_begin);
            //根据日历规则,为指定的日历字段增加或减去指定的时间量
            calendar.add(Calendar.DATE,day);
            //得到指定的日历字段的值
            int weekday = calendar.get(Calendar.DAY_OF_WEEK);
            System.out.println(week[weekday-1]);
        }
    }
}

你可能感兴趣的:(java,开发语言)