話不多說,下面來直接看示例代碼
具體代碼:
DayOfWeek4Birthday.javapackage com.gua;import java.util.Calendar;import java.util.GregorianCalendar;import java.io.*;import static java.lang.System.out;/** * Created by 2gua on 2014/9/27. * DayOfWeek4Birthday:看看你查詢的具體日子是星期幾, * 比如,查詢誰誰的“生日對應是星期幾”。 */public class DayOfWeek4Birthday { private String[] date; //保存輸入數據:年數、幾月、幾號。 //計算輸入的日期數據對應的星期幾。 private void caculateData() { GregorianCalendar gc = new GregorianCalendar(); final char[] day_of_week = {'日','一','二','三','四','五','六'}; int year = gc.get(Calendar.YEAR); //從當前年算起。 char week; for(int i = year; i<= year + Integer.valueOf(date[0]) - 1; i++) { gc.set(i, Integer.valueOf(date[1]) - 1, Integer.valueOf(date[2])); week = day_of_week[gc.get(Calendar.DAY_OF_WEEK) - 1]; out.println(i + "年" + date[1] + "月" + date[2] + "號是星期" + week + "。"); } } //輸入日期數據。 private void inputData() { InputStreamReader is = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(is); try { out.print("請輸入年份範圍和日期,格式:年數幾月幾號(5 9 15),回車結束:"); String in = br.readLine(); date = in.split(" "); out.println("輸入結果:" + date[0] + "個年數," + date[1] + "月" + date[2] + "號。"); } catch(Exception e) { out.println("啊哦,運行出錯咯-_-。sorry!"); } finally { try { br.close(); is.close(); } catch (IOException e) { out.println("IO出錯咯-_-。sorry!"); } } } public static void main(String[] args) { DayOfWeek4Birthday dayOfWeek4Birthday = new DayOfWeek4Birthday(); dayOfWeek4Birthday.inputData(); dayOfWeek4Birthday.caculateData(); }}運行,比如想看從今年算起5年內,每年的9月15號是星期幾。
結果如下所示:
請輸入年份範圍和日期,格式:年數幾月幾號(5 9 15),回車結束:5 9 15輸入結果:5個年數,9月15號。 2014年9月15號是星期一。 2015年9月15號是星期二。 2016年9月15號是星期四。 2017年9月15號是星期五。 2018年9月15號是星期六。 Process finished with exit code 0
記得用完流要關閉。
以上是JDK 6的做法,在JDK 7及JDK 8中可以使用automatic resource management(ARM)新特性,重構inputData()方法:
//輸入日期數據。 private void inputData() { try(BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) { out.print("請輸入年份範圍和日期,格式:年數幾月幾號(5 9 15),回車結束:"); String in = br.readLine(); date = in.split(" "); out.println("輸入結果:" + date[0] + "個年數," + date[1] + "月" + date[2] + "號。"); } catch(Exception e) { out.println("啊哦,運行出錯咯-_-。sorry!"); }}當然,記得要把模塊語言等級相應設置為JDK 7或JDK 8,JDK 6及以下是不會通過的。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家學習或者使用Java能有所幫助,如果有疑問大家可以留言交流。