编写应用程序实现功能:打印输出某年某月的月历信息。例如输入2019 3,则输出如下月历信息。
要点
java 类中的静态方法不能调用类中的非静态成员(属性,方法)
代码
①基础(未优化代码)
// An highlighted block
package calen;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class cal {
public static void main(String args[]) throws ParseException{
System.out.println("请输入年份月份:");
Integer ca[][]=new Integer[6][7]; //存储日历的数组;6 对应日历有六行,7对应日历一周7天。
int x=1; //每月第一天
int year; //年
int month; //月
String day="1"; //日
// 输入年月日
Scanner in = new Scanner(System.in);
year=in.nextInt();
month=in.nextInt();
in.close();
System.out.println("\t"+"\t"+"\t"+year+"年"+month+"月");
System.out.println();
//每月一号对应周几
SimpleDateFormat fmt = new SimpleDateFormat("dd MM yyyy");
Date d = null;
d = fmt.parse(day+" "+month+" "+year);
Calendar calendar = Calendar.getInstance();
calendar.setTime(d);
int weekDay = calendar.get(Calendar.DAY_OF_WEEK)-1;
// 判断不同月份的天数并据此来存储日历表
if(month!=2&&month!=4&&month!=6&&month!=9&&month!=11)
for(int i=