import java.util.Scanner; public class DisplayCalendar{ public static void main(String[] args){ int n,i; String[] months = {"January","February","March","April","May","June","July","August","September","October","November","December"}; Scanner scanner = new Scanner(System.in); // System.out.print("Please input a year: "); // int year = scanner.nextInt(); // System.out.print("Please input the first day: "); // int firstDay = scanner.nextInt(); int year = 2012; int firstDay = 1; String[] result = callday(firstDay,year); for(i = 0; i < 12; i++){ System.out.println(" "+months[i]+" "+year); System.out.print("____________________________________\n"); System.out.print("Sun Mon Tue Wed Thu Fri Sat\n"); System.out.println(result[i]+"\n"); } } public static String[] callday(int num1, int num2){ String[] result = new String[12]; int firstDay = num1; int year = num2; int n,day,init; // init = 0; for(n = 0; n < 12; n++){ result[n] = " "; init = 0; if(n != 1){ if(n == 0 || n == 2 || n == 4 || n == 6 || n == 7 || n == 9 || n == 11){ for(day = 1; day <= 31; day++){ init++; if(init == 8) result[n] += " "; if(init == 9) result[n] += " "; result[n] += day; if(init >= 17 && init <= 20 || init >= 24 && init <= 27) result[n] += " "; else if(init >= 1 && init < 3) result[n] += " "; else if(init >= 10 && init <= 14) result[n] += " "; else result[n] += " "; if(init%7 == 0) result[n] += "\n"; } } else { for(day = 1; day <= 30; day++){ init++; if(init == 8) result[n] += " "; if(init == 9) result[n] += " "; result[n] += day; if(init >= 17 && init <= 20 || init >= 24 && init <= 27) result[n] += " "; else if(init >= 1 && init < 3) result[n] += " "; else if(init >= 10 && init <= 14) result[n] += " "; else result[n] += " "; if(init%7 == 0) result[n] += "\n"; } } } else { if(year%4 == 0 && year%100 != 0){ for(day = 1; day <= 29; day++){ init++; if(init == 8) result[n] += " "; if(init == 9) result[n] += " "; result[n] += day; if(init >= 17 && init <= 20 || init >= 24 && init <= 27) result[n] += " "; else if(init >= 1 && init < 3) result[n] += " "; else if(init >= 10 && init <= 14) result[n] += " "; else result[n] += " "; if(init%7 == 0) result[n] += "\n"; } }else if(year%400 == 0){ for(day = 1; day <= 29; day++){ init++; if(init == 8) result[n] += " "; if(init == 9) result[n] += " "; result[n] += day; if(init >= 17 && init <= 20 || init >= 24 && init <= 27) result[n] += " "; else if(init >= 1 && init < 3) result[n] += " "; else if(init >= 10 && init <= 14) result[n] += " "; else result[n] += " "; if(init%7 == 0) result[n] += "\n"; } }else{ for(day = 1; day <= 28; day++){ init++; if(init == 8) result[n] += " "; if(init == 9) result[n] += " "; result[n] += day; if(init >= 17 && init <= 20 || init >= 24 && init <= 27) result[n] += " "; else if(init >= 1 && init < 3) result[n] += " "; else if(init >= 10 && init <= 14) result[n] += " "; else result[n] += " "; if(init%7 == 0) result[n] += "\n"; } } } } return result; } }