import java.util.*;
 
 /* Façade */
 class UserfriendlyDate {
     GregorianCalendar gcal;
 
     public UserfriendlyDate(String isodate_ymd) {
         String[] a = isodate_ymd.split("-");
         gcal = new GregorianCalendar(Integer.valueOf(a[0]).intValue(),
               Integer.valueOf(a[1]).intValue()-1 /* !!! */, Integer.valueOf(a[2]).intValue());
     }
 
     public void addDays(int days) { 
       gcal.add(Calendar.DAY_OF_MONTH, days); 
     }
 
     public String toString() { 
       return new Formatter().format("%1$tY-%1$tm-%1$td", gcal).toString();
     }
 }
 
 /* Client */
 class FacadePattern {
     public static void main(String[] args) {  
         UserfriendlyDate d = new UserfriendlyDate("1980-08-20");   
         System.out.println("Date : "+d);   
         d.addDays(20);   
         System.out.println("20 jours après : "+d);
     }
 }
