用JAVA编程,输入自己的生日,判断自己生日是当年中的第几天和星期几。

//将日历时间设置成生日那天 public void setDate(int year,int month,int day){ cld.set(year,month-1,day);} //获取该日是一年当中的第几天 public int getDay(){ return cld.get(6);} //获取该日是星期几 public String getDate(){ int date = cld.get(7);return getWeekday(date...
用JAVA编程,输入自己的生日,判断自己生日是当年中的第几天和星期几。
import java.io.*;
import java.util.*;
public class GetBirth {
int year = 0;
int month = 0;
int day = 0;
Calendar cld = Calendar.getInstance();//创建一个日历
public GetBirth(){
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入年、月、日:");
try {
year = Integer.parseInt(in.readLine());
month = Integer.parseInt(in.readLine());
day = Integer.parseInt(in.readLine());
} catch (NumberFormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
//将日历时间设置成生日那天
public void setDate(int year,int month,int day){
cld.set(year,month-1,day);
}
//获取该日是一年当中的第几天
public int getDay(){
return cld.get(6);
}
//获取该日是星期几
public String getDate(){
int date = cld.get(7);
return getWeekday(date);
}
//判断解析一周7天的值
public String getWeekday(int dayofweek){
switch(dayofweek){
case 1: return "星期日";
case 2: return "星期一";
case 3: return "星期二";
case 4: return "星期三";
case 5: return "星期四";
case 6: return "星期五";
case 7: return "星期六";
default:return "error";
}
}
public static void main(String[] args) {
GetBirth gb = new GetBirth();
gb.setDate(gb.year, gb.month, gb.day);
System.out.println(gb.getDay());
System.out.println(gb.getDate());
}
}

希望对楼主有所帮助,谢谢。2009-03-30
import java.util.Date;

public class testshuzu {

public static void main(String[] args) {
// 给定一个日期。算出是一年的第几天。
int sum = 0;
Date d = new Date(2009, 5, 10);// 年份 y 由整数 y - 1900 表示。 月份由从 0 至 11
// 的整数表示;0 是一月、1 是二月等等;因此 11 是十二月。
int year = d.getYear();
int month = d.getMonth();
int day = d.getDate();

int days[] = { 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 };

sum = days[month - 1] + day;
if (year % 4 == 0 && year % 100 != 0 && month > 2 || year % 400 == 0 && month > 2) {
// 判断是否是闰年
sum++;
}
System.out.println("这是一年的第" + sum + "天");
}

}2009-03-29
现在JAVA 自带的JDK可以很容易的实现这个判断,(因为JAVA JDK已经自己计算润年等信息),不过要用java.util.Calendar类;
Calendar是对Date 的优化类;
String d = "2009-03-24";//你生日字符;
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Calendar c=Calendar.getInstance();
try{
c=setTime(df.parse(d));
}catch(ParseException e){
e.printStackTrace();
}
再用Calendar 的get 方法;

public int get(int field)
返回给定日历字段的值。在 lenient 模式下,所有日历字段都被标准化。在 non-lenient 模式下,所有日历字段都是经过验证的,如果任何日历字段有超出范围的值,则此方法抛出一个异常。标准化和验证都是通过 complete() 方法处理的,这个过程与日历系统有关。

参数:
field - 给定的日历字段。
返回:
给定日历字段的值。
field字段:(java api有)
static int DAY_OF_YEAR
get 和 set 的字段数字,指示当前年中的天数。
static int DAY_OF_MONTH
get 和 set 的字段数字,指示一个月中的某天。
static int DAY_OF_WEEK
get 和 set 的字段数字,指示一个星期中的某天。2009-03-30
可以吗?
有润年的哦.
关注...2009-03-29
mengvlog 阅读 9 次 更新于 2025-07-19 08:42:20 我来答关注问题0
檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部