原题:http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1001&cid=439
Java确实很好很强大。只要Java基础比较好A这样的题目是简简单单的啦。
这里需要注意的是Calendar 类的月份、日期小于10的都没有前缀0,跟题目要求不符。所以要用System.out.printf("%d/%02d/%02d",year,month,day);这样的形式控制输出格式。跟C里面的prinf函数很像。
还有Calendar 类的月份要比实际月份要小一。
import java.util.Calendar;
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner s=new Scanner(System.in);
Calendar c=Calendar.getInstance();
int n,d;
n=s.nextInt();
for(int i=1;i<=n;i++){
d=s.nextInt();
c.set(2013,3-1,24);
c.add(Calendar.DATE,d);
System.out.printf("%d/%02d/%02d",c.get(Calendar.YEAR),(c.get(Calendar.MONTH)+1),c.get(Calendar.DATE));
System.out.print(" ");
c.set(2013,3-1,24);
c.add(Calendar.DATE,-d);
System.out.printf("%d/%02d/%02d",c.get(Calendar.YEAR),(c.get(Calendar.MONTH)+1),c.get(Calendar.DATE));
System.out.println();
}
}
}