Java作业05(第7章 常用实用类)

package homework05; /* * 题目:编写一个应用程序,输出某年某月的日历页,通过main()方法的参数将年和月份时间传递到程序中。 */ import java.util.Calendar; class CalendarDisplay{ private int year; private int month; public CalendarDisplay(int year,int month){ this.year=year; this.month=month-1; } //返回当前月份的总天数。 public int getNumberOfDaysInMonth(int year,int month){ int num=0; if(month == 1|| month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) num = 31; else if(month == 4 || month == 6 || month == 9|| month == 11) num = 30; else if(month == 2){ if(year%4==0&&year%100!=0||year%400==0) num = 29; else num = 28; } return num; } public void display(){ Calendar cal=Calendar.getInstance(); cal.set(year, month, 1); int weekOf=cal.get(Calendar.DAY_OF_WEEK)-1; month++; String a[]=new String[weekOf+getNumberOfDaysInMonth(year,month)]; for(int i=0;i<weekOf;i++){ a[i]=""; } for(int i=weekOf,n=1;i<weekOf+getNumberOfDaysInMonth(year,month);i++){ a[i]=String.valueOf(n); n++; } System.out.println(" 这是"+year+"年"+month+"月的日历页!"); System.out.printf("%10c%10c%10c%10c%9c%8c%10c\n",'日','一','二','三','四','五','六'); for(int i=0;i<a.length;i++){ if(i%7==0&&i!=0) System.out.println("\n"); System.out.printf("%5s",a[i]); } } } public class ch07_1 { public static void main(String[] args) { new CalendarDisplay(Integer.parseInt(args[0]),Integer.parseInt(args[1])).display(); } }

右击该类,选择【run_configurations】--选择【arguments】输入两个参数值,空格分开。例如:2010 2

单击【run】

输出结果如下:

这是2010年2月的日历页!
日 一 二 三 四 五 六
1 2 3 4 5 6

7 8 9 10 11 12 13

14 15 16 17 18 19 20

21 22 23 24 25 26 27

28

package homework05; /* *题目: 编写一个应用程序,计算某年某月某日和某年某月某日之间的天数间隔。要求年、月、日 * 通过main()方法的参数传递到程序中。 */ import java.util.Calendar; public class ch07_2 { public static void main(String[] args) { Calendar cal=Calendar.getInstance(); cal.set(Integer.parseInt(args[0]), Integer.parseInt(args[1]),Integer.parseInt(args[2])); long timeOne=cal.getTimeInMillis(); cal.set(Integer.parseInt(args[3]), Integer.parseInt(args[4]),Integer.parseInt(args[5])); long timeTwo=cal.getTimeInMillis(); System.out.println(Integer.parseInt(args[0])+"年"+Integer.parseInt(args[1])+"月"+Integer.parseInt(args[2])+"日" +"至"+Integer.parseInt(args[3])+"年"+Integer.parseInt(args[4])+"月"+Integer.parseInt(args[5])+"日" + "相隔"+(timeTwo-timeOne)/(1000*60*60*24)+"天!"); } }

测试步骤如上。例如 2010 3 1 2010 3 26

结果:

2010年3月1日至2010年3月26日相隔25天!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值