黑马程序员技术交流社区
标题:
关于Calendar类的一些疑问
[打印本页]
作者:
静心远行
时间:
2013-12-31 16:29
标题:
关于Calendar类的一些疑问
本帖最后由 静心远行 于 2014-1-1 14:40 编辑
代码如下
import java.io.*;
import java.util.*;
public class CalendarTest1
{
public static void main(String[] args)throws IOException
{
int year;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Input year:");
year br.readLine();
Calendar c = Calendar.getInstance();
c.set(year, 2, 1);
c.add(Calendar.DAY_OF_MONTH, -1);
复制代码
这是一个利用Calendar类来求某一年的二月有多少天的小程序,为什么不管我输入那个年份,最后输出的都是50年的二月有29天
为什么最后year变成了50呢?
作者:
Zenith
时间:
2013-12-31 16:46
year br.readLine();这里你要表达的应该是对象调用read()读取的输入的年份,接受的是int类型的年.而你用的是readline().那么就是读取的字符串了.我只看到这里就有错 你怎么能有输出结果呢
作者:
776699
时间:
2013-12-31 16:46
本帖最后由 776699 于 2013-12-31 16:47 编辑
public static void main(String[] args) throws IOException {
String year;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Input year:");
while((year=br.readLine())!=null){
Calendar c = Calendar.getInstance();
//将字符串 转为 Integer类型
try{
Integer y=Integer.parseInt(year);
System.out.println(y);
c.set(y, 2, 1);
c.add(Calendar.DAY_OF_MONTH, -1);
System.out.println(c.get(Calendar.DAY_OF_MONTH));
}catch(Exception e)
{
throw new RuntimeException("输入非法日期");
}
}
}
}
作者:
Zenith
时间:
2013-12-31 16:58
/*请说出任意一年的2月份是多少天。*/
public class CalendarDemo2 {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
Scanner sc = new Scanner(System.in);
int year = sc.nextInt();
c.set(year, 2, 1);// 把日期设置为2013年3月1日
c.add(Calendar.DATE, -1);// 把日期往前推1日
System.out.println(c.get(Calendar.DATE));
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2