笔试:算法题————获取输入三个数,获取本月的日历
//定义全局遍历list
ArrayList<ArrayList<String>> resList= new ArrayList();
ArrayList<String> subList= new ArrayList();
public ArrayList<ArrayList<String>> calendar(int year,int month,int dayofWeek){
Calendar cal=Calendar.getInstance();
//设置cal
cal.set(year,month-1,1)//由于Java中是从0开始计数,所以要减一
//获取本月第一天是周几
int startDay=cal.get(Calendar.DAY_OF_WEEK)-1;//也需要进行减一
int maxDay=cal.getActualMaximum(Calendar.DAY_OF_MONTH);
for(int i=1;i<startDay;i++){
//打印空格
subList.add("\"\"");
}
//开始打印日期
for(int i=1;i<=maxDay;i++){
subList.add(i+"");
if(subList.size()>=7){
resList.add(subList);
subList=new ArrayList();
}
}
//判断subList中是否为空,不为空,则还有数据
if(subList.size()>0){
for(int i=0;i<7-subList();i++){
subList.add("\"\"");
}
}
resList.add(subList);
return resList;
} 


京公网安备 11010502036488号