import java.util.Calendar;
import javax.swing.JOptionPane;
import java.text.SimpleDateFormat;
public class FormateDateOutput
{
private int year;
public static void main(String[] args)
{
String input = JOptionPane.showInputDialog("请输入有效的年份(YYYY):");
int year1 = Integer.parseInt(input);//将字符串转化为整数
FormateDateOutput out = new FormateDateOutput();
out.setYear(year1);
if(year1 != 0 && input.length() == 4)
{
out.FormateDateStr();
}
else
{
System.out.println("输入的年份无效。");
}
System.exit(0);
}
public void FormateDateStr()
{
SimpleDateFormat formatter = (SimpleDateFormat)SimpleDateFormat.getDateInstance();
formatter.applyPattern("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
for(int i = 0; i <12; i++ )
{
cal.set(year, i,1);
int temp = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
for (int j = 1; j <= temp; j++)
{
cal.set(year, i, j);
String str = formatter.format(cal.getTime());
System.out.println("当前的时间是:" + str);
}
}
}
public void setYear(int year)
{
this.year = year;
System.out.println("the year is " + this.year);
}
public int getYear()
{
return year;
}
}
问题1:这句话是声明formatter=SimpleDateFormat.getDateInstance();的返回值,加(SimpleDateFormat)是什么意思?
2:cal只是一个Calendar类型变量,没有和Calendar类型对象进行关联,怎么能调用那几个方法呢?
晕了
神!!!救救我
----------------解决方案--------------------------------------------------------
....
[此贴子已经被作者于2006-8-22 21:36:27编辑过]
----------------解决方案--------------------------------------------------------
1 是强制类型转换
2 Calendar cal = Calendar.getInstance();返回了一个Calendar类型的对象 给了cal这个变量
getInstance
public static Calendar getInstance()使用默认时区和语言环境获得一个日历。返回的 Calendar 基于当前时间,使用了默认时区和默认语言环境。
返回:
一个 Calendar。
还有“神!!!救救我”
他忙着写他的论坛呢
----------------解决方案--------------------------------------------------------
第一个有点疑问。
SimpleDateFormat formatter = (SimpleDateFormat)SimpleDateFormat.getDateInstance();
这个方法返回一个formatter,这个formatter是什么类型?
对象还是对象变量?如果返回的是一个对象,F应该大写才对呀?
SORRY,可能有点可笑的问题,我才开始看API
它的意思是不是将formatter强制转换成SimpleDateFormat类型的对象,然后用这个formatter当对象变量?
----------------解决方案--------------------------------------------------------
对象变量
还有自己定义的东西怎么写都行!不是“F应该大写才对呀?”而且变量如果按规则写也不应该是开头大写的
类才是开头大写啊
----------------解决方案--------------------------------------------------------
以一楼程序为例,用哪个对象变量调用哪个类的方法是不是有要求的?
应该是一一对应的吧?
不能出现A对象的句柄调用B类中的方法(前提:B类型对象存在)是不是?
如果引入包了呢?
----------------解决方案--------------------------------------------------------