日期:2014-05-20  浏览次数:20671 次

求助java关于日历的代码
package classDemo01;
import java.text.DateFormatSymbols ;
import java.util.* ;
public class DateDemo01 {
public static void main(String args[]){
GregorianCalendar d = new GregorianCalendar() ;
int today = d.get(Calendar.DAY_OF_MONTH) ;
int month = d.get(Calendar.MONTH) ;
d.set(Calendar.DAY_OF_MONTH,1) ;
int weekday = d.get(Calendar.DAY_OF_WEEK) ;
int firstDayOfweek = d.getFirstDayOfWeek() ;
int indent = 0 ;
while(weekday != firstDayOfweek)
{
indent++ ;
d.add(Calendar.DAY_OF_MONTH,-1) ;
weekday = d.get(Calendar.DAY_OF_WEEK) ;
}
String[] weekdaynames = new DateFormatSymbols().getShortWeekdays() ;
do
{
System.out.printf("%4s",weekdaynames[weekday]) ;
d.add(Calendar.DAY_OF_MONTH,1) ;
weekday = d.get(Calendar.DAY_OF_WEEK) ;
}
while(weekday != firstDayOfweek) ;
System.out.println() ;

for(int i=1;i<=indent;i++){
System.out.print("    ") ;//   i=0    看看可不可以!!!!!!!!!!!!!!!!!   
}
d.set(Calendar.DAY_OF_MONTH,1) ;
do
{
int day = d.get(Calendar.DAY_OF_MONTH) ;
System.out.printf("%3d",day) ;
if(day == today){
System.out.print("*") ;
}else{
System.out.print(" ") ;
}
d.add(Calendar.DAY_OF_MONTH,1) ;
weekday = d.get(Calendar.DAY_OF_WEEK) ;
if(weekday == firstDayOfweek){
System.out.println() ;
}
}
while(d.get(Calendar.MONTH)==month) ;
if(weekday != firstDayOfweek){
System.out.println() ;
}
}
}




为什么结果变成这样了图片这样  没对齐~~~~   麻烦各位大神了~~  

 
java 日历

------解决方案--------------------
import java.text.DateFormatSymbols ;
import java.util.* ;
public class SSSS {
public static void main(String args[]){
GregorianCalendar d = new GregorianCalendar() ;
int today = d.get(Calendar.DAY_OF_MONTH) ;
int month = d.get(Calendar.MONTH) ;
d.set(Calendar.DAY_OF_MONTH,1) ;
int weekday = d.get(Calendar.DAY_OF_WEEK) ;
int firstDayOfweek = d.getFirstDayOfWeek() ;
int indent = 0 ;
while(weekday != firstDayOfweek)
{
indent++ ;
d.add(Calendar.DAY_OF_MONTH,-1) ;
weekday = d.get(Calendar.DAY_OF_WEEK) ;
}
String[] weekdaynames = new DateFormatSymbols().getShortWeekdays() ;
do
{
System.out.printf("%4s",weekdaynames[weekday]) ;
d.add(Calendar.DAY_OF_MONTH,1) ;
weekday = d.get(Calendar.DAY_OF_WEEK) ;
}
while(weekday != firstDayOfweek) ;
System.out.println() ;

for(int i=1;i<=indent;i++){
System.out.print("    ") ;//   i=0    看看可不可以!!!!!!!!!!!!!!!!!   
}
d.set(Calendar.DAY_OF_MONTH,1) ;
do
{
int day = d.get(Calendar.DAY_OF_MONTH) ;
System.out.printf("%5d",day) ;
if(day == today){
System.out.print("*") ;
}else{
System.out.print(" ") ;
}
d.add(Calendar.DAY_OF_MONTH,1) ;
weekday = d.get(Calendar.DAY_OF_WEEK) ;
if(weekday == firstDayOfweek){
System.out.println() ;
}
}
while(d.get(Calendar.MONTH)==month) ;
if(weekday != firstDayOfweek){
System.out.println() ;
}
}
}
我帮你解决了哦 有时间可以请教一下你吗 我的QQ976317873加我哦备注Java爱好者