各位大虾给看看这个程序:
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);
[b] System.out.printf("%3d",day);[/b]
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();
}}
有颜色那一行总是报错,大家帮忙看看是什么错阿
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);
[b] System.out.printf("%3d",day);[/b]
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();
}}
有颜色那一行总是报错,大家帮忙看看是什么错阿
总是报这个错,看不懂,请指教
import java.util.GregorianCalendar;public class Test {
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);
System.out.printf("%3d", 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
难道eclipse耍我??
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
System.out.print(" ");
你少写了一半的空格,因为SUN也占三个哦!
Integer objDay = new Integer(day);
然后把objDay传入,即
System.out.printf("%3d",objDay);
但我的JRE是1.5的,没有抱错,以上仅供参考,望对你有助~~
10楼的说转Integer可还是报错类型 PrintStream 中的方法 printf(String, Object[])对于参数(String, Integer)不适用
错在少了[],把Integer转成Integer数组就可以了 Integer[] objDay = new Integer(day);
然后把objDay传入,即
System.out.printf("%3d",objDay);