利用Java计算某个日期是星期几
程序员文章站
2024-03-12 09:21:44
话不多说,下面来直接看示例代码
具体代码:
dayofweek4birthday.java
package com.gua;
import java...
话不多说,下面来直接看示例代码
具体代码:
dayofweek4birthday.java package 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能有所帮助,如果有疑问大家可以留言交流。