我想问一个java程序问题

来源:百度知道 编辑:UC知道 时间:2024/06/20 00:06:31
程序中的这句"int first=cal.get(Calendar.DAY_OF_WEEK);"是什么意思?
谢谢了.

import java.util.Calendar;
public class PutCalendar
{
Calendar cal;
int DAY;
static int year=0;static int month=0;
public PutCalendar(int y,int m)
{
int[] days = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
cal=Calendar.getInstance();
cal.set(Calendar.YEAR, y);
cal.set(Calendar.MONTH,m-1);
cal.set(Calendar.DATE,1);
if((y%4==0 && y%100!=0 || y % 400==0)&& m==2 )
days[1]++;
DAY=days[m-1];
}

public static void GetX(String strY,String strM)
{
try{
year=Integer.parseInt(strY);
month=Integer.parseInt(strM);
}
catch(NumberFormatException e)
{
System.out.println("输入的信息不合法!");
}
System.out.println("year="+year+" month="+month);

NIITxinyu说得不全对,DAY_OF_WEEK是Calendar中的一个静态常量没错.
当然如果你用System.out.println(Calendar.DAY_OF_WEEK),输出的是7也不会错.但它做为get的参数时是有意义的.

楼主应该学会查API文档.在API文档中的定义是:public int get(int field) 返回给定日历字段的值。而这个DAY_OF_WEEK,也即是7就是这个field的一种取值方法.返回的是一个星期中的某一天,返回值是1-7.
1表示Sunday,即星期天,以此类推,7表示SATURDAY,即星期六.

public int get(int field) 这个方法的参数除了DAY_OF_WEEK之外,还是有:
AM_PM :指示 HOUR 是在中午之前还是在中午之后。
DAY_OF_MONTH :指示一个月中的某天。
DATE :指示一个月中的某天。
DAY_OF_WEEK_IN_MONTH :指示当前月中的第几个星期。
DAY_OF_YEAR :指示当前年中的天数。
DST_OFFSET :以毫秒为单位指示夏令时的偏移量。
HOUR :指示上午或下午的小时。
......

以上并非全部,也没有必要例出全部,楼主最好去下载一个API文档好好查查.

System.out.println(cal.get(Calendar.DAY_OF_WEEK));
输出是5,因为我运行的时候是周四

呵呵,不是说的很清楚了吗
DAY_OF_WEEK就是一周中的天数了
System.out.println(Calendar.DAY_OF_WEEK)就是7
只是一个常量罢了