标题:请问这个输出日历的怎么只能输出1号,其他的输不出啊
只看楼主
holyhsw
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2011-6-12
结帖率:40%
已结贴  问题点数:20 回复次数:3 
请问这个输出日历的怎么只能输出1号,其他的输不出啊
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class Day{
    public static void main(String [] args){
        SimpleDateFormat sf=new SimpleDateFormat();
        Calendar cal=Calendar.getInstance();
        //System.out.println("今天是这一年的第"+cal.get(Calendar.DAY_OF_YEAR)+"天");//今天是一年中得第几天   
        //System.out.println("今天是星期"+(cal.get(Calendar.DAY_OF_WEEK)-1));    //今天是星期几
        //System.out.println("当前时间:"+cal.get(Calendar.DAY_OF_MONTH)+"号");
        int maxDay=cal.getActualMaximum(Calendar.DAY_OF_MONTH);//打印日历图形
        System.out.println("   日     一     二     三     四     五     六     ");
        for(int i=1;i<=maxDay;i++){
            cal.set(Calendar.DAY_OF_MONTH, i);//设置当前的时间
            int week=cal.get(Calendar.DAY_OF_WEEK)-1;//表示星期几
            if(i==1){
                for(int j=0;j<week;j++)System.out.print("    ");
            //打印1号的空格
                if(week!=6){//星期六的时候换行
                    System.out.print(sf.format(cal.getTime())+" ");
                }
                else{
                    System.out.println(i);
                }
            }
            
        }
    }
}
搜索更多相关主题的帖子: 日历 public import class 
2011-10-26 17:48
wangjiangliu
Rank: 2
来 自:武汉
等 级:论坛游民
帖 子:9
专家分:30
注 册:2011-5-26
得分:10 
代码太乱,我照你意思写了一段 供参考:
package chp3.test;
import java.util.*;
class Day
{  public static void main(String args[])
   {  System.out.println("  日  一  二  三  四  五  六");
      Calendar 日历=Calendar.getInstance();
      日历.setTime(new Date());  
      int 星期几=日历.get(Calendar.DAY_OF_WEEK)-1;
      int maxDay=日历.getActualMaximum(Calendar.DAY_OF_MONTH);
      int day=日历.get(Calendar.DAY_OF_MONTH);
      //算本月第一天是星期几
      星期几=星期几-(day%7-1)>=0?星期几-(day%7-1):星期几-(day%7-1)+7;
      String a[]=new String[星期几+maxDay];  
      for(int i=0;i<星期几;i++)
             {  a[i]="  ";
             }
      for(int i=星期几,n=1;i<星期几+maxDay;i++)
             { if(n<=9)
                  a[i]=String.valueOf(n)+" ";
               else
                  a[i]=String.valueOf(n) ;
               n++;
             }  
      for(int i=0;i<a.length;i++)   
      { if(i%7==0)
          {  System.out.println("");
          }
        System.out.print(" "+a[i]);
      }
   }
}
2011-10-30 11:12
baifenghan
Rank: 8Rank: 8
等 级:贵宾
威 望:10
帖 子:258
专家分:952
注 册:2006-3-17
得分:10 
if (i == 1)
            {
                for (int j = 0; j < week; j++)
                    System.out.print("    ");
                //打印1号的空格
                if (week != 6)
                {//星期六的时候换行
                    System.out.print(sf.format(cal.getTime()) + " ");
                } else
                {
                    System.out.println(i);
                }
            }

你的程序中就是只做了1号时候的处理,其他日期并没有做处理,注意我用红色标出的一行。
2011-10-30 17:27
wangjiangliu
Rank: 2
来 自:武汉
等 级:论坛游民
帖 子:9
专家分:30
注 册:2011-5-26
得分:0 
if(i==1){
                 for(int j=0;j<week;j++)System.out.print("    ");
                 }      //括号错位了
             //打印1号的空格
                 if(week!=6){//星期六的时候换行
                     //System.out.print(sf.format(cal.getTime())+" "); // 这里我不明白
                     System.out.print(i+" ");  
                 }
                 else{
                     System.out.println(i);
                 }   
              
2011-11-01 00:10



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-353500-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.164431 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved