资源预览内容
第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
第9页 / 共13页
第10页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第四章14.9 声明MyDate类14.10 求前n个质数54.11 编写实现从两个字符串中找出最长的相同字符列的代码。64.12 整理字符串74.13 编写用数组实现大整数的类,提供大整数的加、减、乘等运算。8第四章4.9 声明MyDate类,功能:增加1天,增减1月和增加1年的方法;输出MyDate对象日期的方法;求两个MyDate对象日期差的方法。并提供能用当前日期初始化MyDate类对象的构造方法。程序运行结果:源文件:MyDate.javaimport java.util.Calendar;/* * 日历类 * author 黎明你好 */public class MyDatepublic static long YEAR_MSEL = 1000*60*60*24*365L;public static long MONTH_MSEL = 1000*60*60*24*30L;public static long DATE_MSEL = 1000*60*60*24L;public static long HOUR_MSEL = 1000*60*60L;public static long MINUTE_MSEL = 1000*60L;private int year;private int month;private int date;private int hour;private int minute;private int second;private Calendar calendar;/* * 构造方法 使用当前时间日期初始化对象 */public MyDate()calendar = Calendar.getInstance();year = calendar.get(Calendar.YEAR);month = calendar.get(Calendar.MONTH) + 1;date = calendar.get(Calendar.DAY_OF_MONTH);hour = calendar.get(Calendar.HOUR_OF_DAY);minute = calendar.get(Calendar.MINUTE);second = calendar.get(Calendar.SECOND);/* * 构造方法 使用指定年、月、日初始化对象 */public MyDate(int year, int month, int date)set(year, month, date);/* * 构造方法 使用指定年、月、日、时、分、秒初始化对象 */public MyDate(int year, int month, int date, int hourOfDay, int minute, int second)set(year, month, date, hourOfDay, minute, second);/* * 设置日历字段 year、month 和 date 的值。 * param year - 用来设置 YEAR 日历字段的值。 * param month - 用来设置 month 日历字段的值。 * param date - 用来设置 date 日历字段的值。 */public void set(int year, int month, int date)set(year, month, date,0,0,0);/* * 设置日历字段 year、month 和 date 的值。 * param year - 用来设置 YEAR 日历字段的值。 * param month - 用来设置 month 日历字段的值。 * param date - 用来设置 date 日历字段的值。 * param hourOfDay - 用来设置 hour 日历字段的值。 * param minute - 用来设置 minute 日历字段的值。 * param second - 用来设置 second 日历字段的值。 */public void set(int year, int month, int date, int hourOfDay, int minute, int second)calendar = Calendar.getInstance();calendar.set(year, month-1, date,hourOfDay,minute,second);this.year = calendar.get(Calendar.YEAR);this.month = calendar.get(Calendar.MONTH) + 1;this.date = calendar.get(Calendar.DAY_OF_MONTH);this.hour = calendar.get(Calendar.HOUR_OF_DAY);this.minute = calendar.get(Calendar.MINUTE);this.second = calendar.get(Calendar.SECOND);/* * 增加一天 */public void addOneDay()date+;calendar.set(year, month, date);/* * 增减一月 */public void addOneMonth()month+;calendar.set(year, month, date);/* * 增加一年 */public void addOneYear()year+;calendar.set(year, month, date);/* * 返回此时间值,以毫秒为单位。 * return - 当前时间,以从历元至现在所经过的 UTC 毫秒数形式。 */public long getTimeInMillis()return calendar.getTimeInMillis();/* * 两个日期相差的时间 * param md - 另一个日期对象 * return - 相差的时间 */public String apart(MyDate md)long msel = this.getTimeInMillis() - md.getTimeInMillis();msel = Math.abs(msel);boolean boo = msel0?true:false;long year = msel/MyDate.YEAR_MSEL;long date = msel%MyDate.YEAR_MSEL/MyDate.DATE_MSEL;long hour = msel%MyDate.DATE_MSEL/MyDate.HOUR_MSEL;long minute = msel%MyDate.HOUR_MSEL/MyDate.MINUTE_MSEL;long second = msel%MyDate.MINUTE_MSEL/1000;String result = ;if( boo )result = 已过去;elseresult = 还有;result += (year + 年 + date+天 + hour + 小时 + minute + 分钟 + second + 秒);return result;/* * 返回此日历的字符串表示形式。 * return - 此日历的字符串表示形式。 */public String toString()return year + 年 + month + 月 + date + 日, + hour + : + minute + : + second;测试类源文件:TestMyDate.java/* * MyDate的测试类 * author 黎明你好 */public class TestMyDatepublic static void main(String args)MyDate md1 = new MyDate();MyDate md2 = new MyDate(2010,2,13);MyDate md3 = new MyDate(2008,8,8,20,0,0);System.out.println(当前时间: + md1.toString();System.out.println(2010年除夕: + md2.toString();md2.addOneDay();System.out.println(增加一天后,大年初一: + md2.toString();System.out.println(现在距新年: + md1.apart(md2);System.out.println(现在距08年北京奥运会: + md1.apart(md3);4.10 求前n个质数。要求确定m是否是质数,用早先求出的质数对m的整除性来确定。/* * 求前n个质数。 * 确定m是否是质数,用早先求出的质数对m的整除性来确定。 * author 黎明你好 */public class Work4_10/* 用来存质数的数组 */private int arrayInt;public Work4_10(int n)arrayInt = new intn;arrayInt0 = 2;int index = 1;/保存数组的有效长度boolean boo = true;for (int i = 2; i arrayInt.length; i+)boo = true;for (int j = 0; j index; j+)if (i % arrayIntj = 0)/用已存入数组中的质数判断boo = false;if (boo)/如果是true 则是指数,存入数组,数组有效长度加1.arrayIntindex = i;index+;/* * 打印数组元素 */public String printArray()
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号