html5中文学习网

您的位置: 首页 > 网络编程 > java教程 » 正文

利用Java计算某个日期是星期几_java_

[ ] 已经帮助:人解决问题

话不多说,下面来直接看示例代码9SqHTML5中文学习网 - HTML5先行者学习网

具体代码:9SqHTML5中文学习网 - HTML5先行者学习网

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号是星期几。9SqHTML5中文学习网 - HTML5先行者学习网

结果如下所示:9SqHTML5中文学习网 - HTML5先行者学习网

请输入年份范围和日期,格式:年数 几月 几号(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

记得用完流要关闭。9SqHTML5中文学习网 - HTML5先行者学习网

以上是JDK 6的做法,在JDK 7及JDK 8中可以使用automatic resource management(ARM)新特性,重构inputData()方法:9SqHTML5中文学习网 - HTML5先行者学习网

//输入日期数据。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及以下是不会通过的。9SqHTML5中文学习网 - HTML5先行者学习网

总结9SqHTML5中文学习网 - HTML5先行者学习网

以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用Java能有所帮助,如果有疑问大家可以留言交流。9SqHTML5中文学习网 - HTML5先行者学习网

(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助