用Java轻松A掉腾讯编程马拉松第三场1001题

原题: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();
		}
	}

}


你可能感兴趣的:(java,算法,杭电oj)