import java.util.*;
public class xx
{  public static void main(String args[])
   {  int i=0;
   for(i=0;i<6;i++)
   {
StringTokenizer fenxi=new StringTokenizer(args[i]," ,"); 
int number=fenxi.countTokens();
      while(fenxi.hasMoreTokens()) 
       {  String str=fenxi.nextToken();
          System.out.println(str);
          
       }
     
   } 
   }
}
如果我要用输入"1987,4,5 1999,3,9"都用x1=args[0],y1=args[1],z1=args[2],x2=args[3],y2=args[4],z2=args[5然后再用Long.parseLong(args[i])把字符转为整型,再用
calendar.set(x1,y1,z1);
calendar.set(x2,y2,z3);调用设置时间
这个程序应该怎么修改:

解决方案 »

  1.   

    输入一定为:"年,月,日 年,月,日"(或"年,日,月 年,日,月",下同)?
    只有两个"年,月,日",还是有更多?
    如果保持以上格式
    先用StringTokenizer不带分隔符得到几个连续的"年,月,日"字符串
    再以","分隔字符串,得到年月日(此时需转换类型)
    最好执行设置时间
      

  2.   


    public static void main(String[] args) {
    if(args!=null && args.length>0) {
    for(int i=0;i<args.length;i++) {
    String[] dateArray = args[i].split(",");
    if(dateArray.length == 3) {
    Calendar calendar = new GregorianCalendar();
    calendar.set(Integer.parseInt(dateArray[0]), Integer.parseInt(dateArray[1]), Integer.parseInt(dateArray[2]));
    System.out.println(calendar.get(Calendar.YEAR)+"-"+calendar.get(Calendar.MONTH)+"-"+calendar.get(Calendar.DAY_OF_MONTH));
    }
    }
    }
    }
      

  3.   

    定义两个对象,两个对象相减Calendar calendar = new GregorianCalendar();
    Calendar calendar1 = new GregorianCalendar();
    int margin;
    margin=calendar.set(Integer.parseInt(dateArray[0]), Integer.parseInt(dateArray[1]), Integer.parseInt(dateArray[2]))-calendar.set(Integer.parseInt(dateArray[1]), Integer.parseInt(dateArray[2]), Integer.parseInt(dateArray[3]));
    我的想法不知道对不对。
      

  4.   

    好像不行呐,是不是没有转换数据类型呢?输入的字符型,而calendar.set()是传递整型数据吧