输入日期String[],输出日期季初,与季末.
如:"20040920" 输出{"20060701","20040930"}求算法解决!!!!!!

解决方案 »

  1.   

    给楼主个思路。
    用变量保存输入的年,和月。把当前月抓换成int类型,判断在哪个季度。
    如果在一季度那么返回[年 + "0101", 年 + "0331"];
    需要用到substring函数截取字符串
      

  2.   

    使用JDK中Calendar类
    1、首先使用你输入的日期构造Calendar类A
    2、使用Calendar获取当前是几号,然后将当前日期减去该值+1得到Calendar B
    3、使用B构造Calendar C,将该Calendar减去两个月得到Calendar D
    4、将A+一个月,然后减去几号+1得到E那么D为季初,E为季末。最后再使用SimpleDateFormat格式化并赋值到你的数组中就可以了。
      

  3.   

    String s = "20041202" ;
    String s2 = s.substring(4,6) ;
    int i  = Integer.parseInt(s2) ;
    if(1<=i && i<= 3){
              System.out.println("季初:"+s.substring(0,4)+"0101" +"  季末:"+s.substring(0,4)+"0331");
    }
    if(10<=i && i<= 12){
    System.out.println("季初:"+s.substring(0,4)+"1001" +"季末:"+s.substring(0,4)+"1231");
    }
    if(4<=i && i<= 6){
    System.out.println("季初:"+s.substring(0,4)+"0401" +"季末:"+s.substring(0,4)+"0630");
    }
    if(7<=i && i<= 9){
    System.out.println("季初:"+s.substring(0,4)+"0701" +"季末:"+s.substring(0,4)+"0930");
    }
      

  4.   

     String s = "20041202" ;
            String s2 = s.substring(4,6) ;
            int i  = Integer.parseInt(s2) ;
            if(1<=i && i<= 3){
              System.out.println("季初:"+s.substring(0,4)+"0101" +"  季末:"+s.substring(0,4)+"0331");
            }
            if(10<=i && i<= 12){
                System.out.println("季初:"+s.substring(0,4)+"1001" +"季末:"+s.substring(0,4)+"1231");
            }
            if(4<=i && i<= 6){
                System.out.println("季初:"+s.substring(0,4)+"0401" +"季末:"+s.substring(0,4)+"0630");
            }
            if(7<=i && i<= 9){
                System.out.println("季初:"+s.substring(0,4)+"0701" +"季末:"+s.substring(0,4)+"0930");
            }