当前位置: 代码迷 >> Java面试 >> 写了个日历小程序,但是输出控制有点有关问题,无法对齐,不知该如何调整?比如1月1号星期二,那么星期一的位置为空,从星期二开始显示如何做
  详细解决方案

写了个日历小程序,但是输出控制有点有关问题,无法对齐,不知该如何调整?比如1月1号星期二,那么星期一的位置为空,从星期二开始显示如何做

热度:88   发布时间:2016-04-17 00:10:08.0
写了个日历小程序,但是输出控制有点问题,无法对齐,不知该怎么调整?比如1月1号星期二,那么星期一的位置为空,从星期二开始显示怎么做?
//日期星期小程序
public class J_Date
{
public static void main(String args[])
{
int year=2008;
int length,i,j;
i=j=length=0;
int sum,wsum,weekday;
sum=wsum=weekday=0;
String[] week={"星期一","星期二","星期三","星期四","星期五","星期六","星期七"};
for(i=1;i<13;i++)
{
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
length=31;//每月的天数
else if(i==2)
length=29;
else
length=30;
for(j=1;j<=length;j++)
{
++sum;//一年中的天数
 weekday=sum%7;
 System.out.print(" "+year+"/"+i+"/"+j);
 System.out.print(week[weekday]+" ");
 if(weekday==6)
 System.out.println();

if(j==weekday+1)//
{
wsum++;//日期与星期相同天数
}
}


 }
System.out.println();
System.out.println("2008年共有"+sum+"天");
System.out.println("2008年日期与星期相同的天数共有"+wsum+"天");
}




}

输出结果如下:
2008/1/1星期二  2008/1/2星期三  2008/1/3星期四  2008/1/4星期五  2008/1/5星期六  2008/1/6星期七
 2008/1/7星期一  2008/1/8星期二  2008/1/9星期三  2008/1/10星期四  2008/1/11星期五  2008/1/12星期六  2008/1/13星期七
 2008/1/14星期一  2008/1/15星期二  2008/1/16星期三  2008/1/17星期四  2008/1/18星期五  2008/1/19星期六  2008/1/20星期七
 2008/1/21星期一  2008/1/22星期二  2008/1/23星期三  2008/1/24星期四  2008/1/25星期五  2008/1/26星期六  2008/1/27星期七 ......

我想通过程序判断把第一行的日期素后移,和下面的对齐,从周一开始显示,请问该怎么做?
------解决思路----------------------
判断一下输出的第一个日期的weekday,是几就输出几个空字符串,空字符串长度就是你输出的一个日期的长度
  相关解决方案