当前位置: 代码迷 >> Java相关 >> 日历程序,错在哪?
  详细解决方案

日历程序,错在哪?

热度:146   发布时间:2006-03-30 22:03:00.0
日历程序,错在哪?
import java.util.*;
public class CalendarTest
{
public static void main(String[] args){

GregorianCalendar d = new GregorianCalendar();
int today = d.get(Calendar.DAY_OF_MONTH);
int month = d.get(Calendar.MONTH);

int weekday = d.get(Calendar.DAY_OF_WEEK);
d.set(Calendar.DAY_OF_MONTH,1);
System.out.println("Sun Mon Tue Wed Thu Fri Sat" );
for (int i = Calendar.SUNDAY; i<weekday; i++)
System.out.print(" ");
do
{
int day = d.get(Calendar.DAY_OF_MONTH);
if (day<10) System.out.print(" ");
System.out.print(day);
if (day==today)
System.out.print("* ");
else
System.out.print(" ");
if (weekday == Calendar.SATURDAY)
System.out.println();
d.add(Calendar.DAY_OF_MONTH,1);
weekday = d.get(Calendar.DAY_OF_WEEK);

}
while (d.get(Calendar.MONTH) == month);
if (weekday != Calendar.SUNDAY)
System.out.println();
}
}




但我想得到的结果是:
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30* 31
Press any key to continue...
搜索更多相关的解决方案: 日历  

----------------解决方案--------------------------------------------------------
纠正:上面的“但我想得到的结果是”
是从周一开始1,往下依次排列的
----------------解决方案--------------------------------------------------------

import java.util.*;
public class CalendarTest
{
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);
System.out.println("Sun Mon Tue Wed Thu Fri Sat" );
for (int i = Calendar.SUNDAY; i<weekday; i++)
System.out.print(" ");
do
{
int day = d.get(Calendar.DAY_OF_MONTH);
if (day<10) System.out.print(" ");
System.out.print(day);
if (day==today)
System.out.print("* ");
else
System.out.print(" ");
if (weekday == Calendar.SATURDAY)
System.out.println();
d.add(Calendar.DAY_OF_MONTH,1);
weekday = d.get(Calendar.DAY_OF_WEEK);

}
while (d.get(Calendar.MONTH) == month);
if (weekday != Calendar.SUNDAY)
System.out.println();
}
}
出现这种情况主要是你的空格打少了,你每个单词都是三个字母加一个空格组成
所以你要打空格的时候,应该打四个,这样才能对应一个单词的位置


----------------解决方案--------------------------------------------------------
多谢,指教!
----------------解决方案--------------------------------------------------------
冰封哥哥 好强悍噢 `~
顶你一下 吧`~ 有时间向你虚心请教JAVA

----------------解决方案--------------------------------------------------------
  相关解决方案