import java.text.DateFormatSymbols;
import java.util.*;
public class CalendarTest {
public static void main(String[] args){
import java.text.DateFormatSymbols;
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);
int FirstDayOfWeek=d.getFirstDayOfWeek();
int indent=0;
while(weekday!=FirstDayOfWeek){
indent ;
d.add(Calendar.DAY_OF_WEEK,-1);
weekday=d.get(Calendar.DAY_OF_WEEK);
}
String[] weekdayNames=new DateFormatSymbols().getShortWeekdays();
do{
System.out.printf("O", weekdayNames[weekday]);
d.add(Calendar.DAY_OF_WEEK, 1);
weekday=d.get(Calendar.DAY_OF_WEEK);
}while(weekday!=FirstDayOfWeek);
System.out.println();
for(int i=1;i<=indent;i ){
System.out.println(" ");
}
d.set(Calendar.DAY_OF_MONTH, 1);
do{
int day=d.get(Calendar.DAY_OF_MONTH);
System.out.printf("=",day);
if(day==today)
System.out.print("*");
else
System.out.println(" ");
d.add(Calendar.DAY_OF_MONTH, 1);
weekday=d.get(Calendar.DAY_OF_WEEK);
if(weekday==FirstDayOfWeek)
System.out.println();
}
while(d.get(month)==month);
if(weekday!=FirstDayOfWeek)
System.out.println();
}
}
我是照着CoreJava列子打的码,但是在Eclipse(kepler版本)运行时出错,编译没问题,只是运行时出错。
Exception in thread "main" java.util.IllegalFormatConversionException: f != java.lang.String
at java.util.Formatter$FormatSpecifier.failConversion(Unknown Source)
at java.util.Formatter$FormatSpecifier.printFloat(Unknown Source)
at java.util.Formatter$FormatSpecifier.print(Unknown Source)
at java.util.Formatter.format(Unknown Source)
at java.io.PrintStream.format(Unknown Source)
at java.io.PrintStream.printf(Unknown Source)
at CalendarTest.main(CalendarTest.java:19)
这是错误信息
展开
全部