关于键盘录入年月日,控制台输出本月日历的题目,并在你输入的天数旁边加*

破戒道士 2016-12-20 09:17:04
package cn.com.zuoye;

import java.util.Calendar;
import java.util.Scanner;

/*
* 控制台输入年月日,打印出本月日历
* 分析: 1.控制台输入年月日,分别用year month day 接受
* 2.回滚当月日期,确定当月一共有多少天
* 3.判断每个月第一天是星期几,确定好前面要输入的空格数int dayOfweek = cal.get(Calender.DAY_OF_WEEK)-1
* 4.for循环输出空格,在一个for循环输出日期(需要判断什么时候换行)
* 5.打印结果
*/
public class Test5 {
public static void main(String[] args) {
//1.控制台输入年月日,分别用year month day 接受
Scanner sc = new Scanner(System.in);
System.out.println("请输入年:");
int year = sc.nextInt();
System.out.println("请输入月份:");
int month = sc.nextInt();
System.out.println("请输入日期:");
int day = sc.nextInt();

//2.回滚当月日期,确定当月一共有多少天
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month-1);
cal.set(Calendar.DATE, day);

cal.set(Calendar.DATE, 1);
//3.判断每个月第一天是星期几,确定好前面要输入的空格数int dayOfweek = cal.get(Calender.DAY_OF_WEEK)-1
int dayOfweek = cal.get(Calendar.DAY_OF_WEEK)-1;
cal.roll(Calendar.DATE, -1);
int n = cal.get(Calendar.DATE);

//4.for循环输出空格,在一个for循环输出日期(需要判断什么时候换行)
for (int i = 0; i < dayOfweek; i++) {
System.out.print("\t");
}
//5.打印结果
for (int i = 1; i <= n; i++) {
if(day == i) {
System.out.print(i+"*\t");
}else{
System.out.print(i+"\t");
}
if((i+dayOfweek)%7==0) {
System.out.println();
}
}
}
}
...全文
459 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
那年花 2016-12-27
  • 打赏
  • 举报
回复
然后要问啥~~
爱睡觉的阿狸 2016-12-21
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复

62,626

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧