简单的编程代码,求大神帮我看看JAVA。
发布网友
发布时间:2022-05-12 13:53
我来回答
共2个回答
热心网友
时间:2023-08-19 05:20
public static void main(String[] args) {
Calendar cal=Calendar.getInstance();
Scanner input=new Scanner(System.in);
System.out.println("请输入年份");
int year=input.nextInt();
System.out.println("请输入月份");
int month=input.nextInt();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
try {
Date date=sdf.parse(year+"-"+month+"-01");//拼接当月第一天
cal.setTime(date);
} catch (ParseException e) {
e.printStackTrace();
}
int days=cal.getActualMaximum(Calendar.DATE);//获取当月最大天数
System.out.println("日\t一\t二\t三\t四\t五\t六");
int week=cal.get(Calendar.DAY_OF_WEEK);//当月第一天是星期几
for(int k=0;k<week-1;k++){//从礼拜天到当月第一天,前面的都打印空格
System.out.print("\t");
}
int d=1;//定义个变量来控制天数
for(int i=week;i<days+week;i++){
System.out.print(d+"\t");
if(i%7==0){//每隔7天一换行
System.out.println();
}
d++;
}
}
感觉用二维数组好理解一些,在打印日期控制换行的时候
热心网友
时间:2023-08-19 05:21
之前工作时候有写一个 你参考参考吧
http://blog.csdn.net/u013816347/article/details/44259455追问你那里面写的很多都没学到呀
追答给你个思路吧
int year;
int month;
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR,year);
cal.set(Calendar.MONTH,month - 1);
cal.set(Calendar.DAY,1);
然后遍历日历的每一天
String month = year + "/" + month;
while(month.equals(new SimpleDateFormat("yyyy/MM").format(cal.getTime()))){
//这里可以得到这个月的每一天
Date date = cal.getTime();
//这里对date坐处理
.........
cal.add(Calendar.DAY,1);
}