源程序:
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 week=d.get(Calendar.DAY_OF_WEEK);
System.out.println("SUN MON TUE WED THR FRI SAT");
for(int i=Calendar.SUNDAY;i<week;i++)
System.out.print(" ");
do
{
int day=d.get(Calendar.DAY_OF_MONTH);
System.out.printf("%3d",day);
if(day==today)
System.out.print("*");
else
System.out.print(" ");
if(week==Calendar.SATURDAY)
System.out.println();
d.add(Calendar.DAY_OF_MONTH,1);
week=d.get(Calendar.DAY_OF_WEEK);
}while(d.get(Calendar.MONTH)==month);
}}
输出结果:
SUN MON TUE WED THR 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
我怎么把输出结果变为:
SUN MON TUE WED THR 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
就是让数字对应中间?
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 week=d.get(Calendar.DAY_OF_WEEK);
System.out.println("SUN MON TUE WED THR FRI SAT");
for(int i=Calendar.SUNDAY;i<week;i++)
System.out.print(" ");
do
{
int day=d.get(Calendar.DAY_OF_MONTH);
System.out.printf("%3d",day);
if(day==today)
System.out.print("*");
else
System.out.print(" ");
if(week==Calendar.SATURDAY)
System.out.println();
d.add(Calendar.DAY_OF_MONTH,1);
week=d.get(Calendar.DAY_OF_WEEK);
}while(d.get(Calendar.MONTH)==month);
}}
输出结果:
SUN MON TUE WED THR 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
我怎么把输出结果变为:
SUN MON TUE WED THR 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
就是让数字对应中间?
import java.util.Calendar;
import java.util.GregorianCalendar;
class CalendarTest
{ public static void main(String[] args)
{
GregorianCalendar a=new GregorianCalendar();
int day=a.get(Calendar.DAY_OF_MONTH);
int month=a.get(Calendar.MONTH);
a.set(Calendar.DAY_OF_MONTH,1);
int weekday=a.get(Calendar.DAY_OF_WEEK);
System.out.println("本月的日历:");
System.out.println("日 一 二 三 四 五 六 ");
for(int i=Calendar.SUNDAY;i <weekday;i++)
{
System.out.print(" ");
}
do{
int today=a.get(Calendar.DAY_OF_MONTH);
System.out.printf("%2d",today);
if(day==today)
{
System.out.print("* ");
}
else
{
System.out.print(" ");
}
if(a.get(Calendar.DAY_OF_WEEK)==7)
{
System.out.println();
}
a.add(Calendar.DAY_OF_MONTH,1);
}while(a.get(Calendar.MONTH)==month);
System.out.println();
}
}
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 week = d.get(Calendar.DAY_OF_WEEK);
System.out.println("SUN\tMON\tTUE\tWED\tTHR\tFRI\tSAT"); for (int i = Calendar.SUNDAY; i < week; i++)
System.out.print("\t");
do {
int day = d.get(Calendar.DAY_OF_MONTH); System.out.print(day+"\t"); if (day == today)
System.out.print("**");
else
// System.out.print(" ");
if (week == Calendar.SATURDAY)
System.out.println();
d.add(Calendar.DAY_OF_MONTH, 1);
week = d.get(Calendar.DAY_OF_WEEK);
} while (d.get(Calendar.MONTH) == month);
}
}
你可以指定每个数字的输出占用的宽度,%5d 就是5个位置的数字,不足的前面默认补空白