《第7章--常用实用类.doc》由会员分享,可在线阅读,更多相关《第7章--常用实用类.doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品文档,仅供学习与交流,如有侵权请联系网站删除第7章 常用实用类实验1 比较日期的大小2模板代码 DateExample.javaimport java.util.*;public class DateExample public static void main(String args ) Scanner read=new Scanner(System.in); System.out.println(输入第一个日期的年份:); int yearOne=read.nextInt( ); System.out.println(输入该年的月份:); int monthOne=read.nextI
2、nt( ); System.out.println(输入该月份的日期:); int dayOne=read.nextInt( ); System.out.println(输入第二个日期的年份:); int yearTwo=read.nextInt( ); System.out.println(输入该年的月份:); int monthTwo=read.nextInt( ); System.out.println(输入该月份的日期:); int dayTwo=read.nextInt( ); Calendar calendar = Calendar.getInstance(); /初始化日历对象
3、calendar.set(yearOne,monthOne,dayOne); / 将calendar的时间设置为yearOne年monthOne月dayOne日 long timeOne=calendar.getTimeInMillis(); / calendar表示的时间转换成毫秒 calendar.set(yearTwo,monthTwo,dayTwo); / 将calendar的时间设置为yearTwo年monthTwo月dayTwo日 long timeTwo=calendar.getTimeInMillis(); / calendar表示的时间转换成毫秒 Date date1=new
4、 Date(timeOne); / 用timeOne作为参数构造date1 Date date2=new Date(timeTwo); / 用timeTwo作为参数构造date2 if(date2.equals(date1) System.out.println(两个日期的年、月、日完全相同); else if(date2.after(date1) System.out.println(您输入的第二个日期大于第一个日期); else if(date2.before(date1) System.out.println(您输入的第二个日期小于第一个日期); long 相隔天数=(timeTwo-t
5、imeOne)/(1000*60*60*24); / 计算两个日期相隔天数 System.out.printf(%d年%d月%d日和%d年%d月%d日相隔%d天,yearOne,monthOne,dayOne, yearTwo,monthTwo,dayTwo, 相隔天数);实验2 随机布雷2模板代码 MineExample.javaimport java.util.*;class Block String name; boolean boo=false; public void setName(String name) this.name=name;/ 将参数name传值给成员变量 publi
6、c String getName() return name; / 返回成员变量name boolean isMine( ) return boo; / 返回成员变量boo public void setBoolean(boolean boo) this.boo=boo; / 将参数boo传值给成员变量boopublic class MineExample public static void main(String args ) int mine=25; Block block =new Block88; for(int i=0;i8;i+) for(int j=0;j8;j+) block
7、ij=new Block( ); LinkedList list=new LinkedList(); / 创建list for(int i=0;i8;i+) for(int j=0;j=0) int size=list.size(); / 返回list中节点个数 int randomIndex=(int)(Math.random( )*size); Block b=list.get(randomIndex); / 返回list中索引值为randomIndex的节点中的对象 b.setName(); b.setBoolean(true); list.remove(randomIndex); /
8、list删除索引值为randomIndex的节点 mine-; for(int i=0;i8;i+) for(int j=0;j8;j+) if(blockij.isMine() ) else int mineNumber=0; for(int k=Math.max(i-1,0);k=Math.min(i+1,7);k+) for(int t=Math.max(j-1,0);t=Math.min(j+1,7);t+) if(blockkt.isMine() ) mineNumber+; blockij.setName(+mineNumber); for(int i=0;i8;i+) for(i
9、nt j=0;j8;j+) System.out.printf(%2s,blockij.getName() ); System.out.printf(%n);实验3 使用TreeSet排序2模板代码 TreeSetExample.javaimport java.util.*;public class TreeSetExample public static void main(String args ) TreeSet mytree=new TreeSet(); for(int i=0;i5;i+) Scanner read=new Scanner(System.in); System.out
10、.println(学生的姓名:); String name=read.nextLine( ); System.out.println(输入分数(整数):); int score=read.nextInt( ); mytree.add(new Student(score,name); / 向mytree添加Student对象 Iterator te=mytree.iterator();/ mytree返回Iterator对象 while(te.hasNext() / 判断te中是否存在元素 Student stu=te.next(); / 返回te中的下一个元素 System.out.print
11、ln(+stu.name+ +stu.english);class Student implements Comparable int english=0; String name; Student(int e,String n) english=e;name=n; public int compareTo(Object b) Student st=(Student)b; return (this.english-st.english);实验4 使用TreeMap排序2模板代码 TreeMapExample.javaimport java.util.*;class MyKey implemen
12、ts Comparable int number=0; MyKey(int number) this.number=number; public int compareTo(Object b) MyKey st=(MyKey)b; if(this.number-st.number)=0) return -1; else return (this.number-st.number);class Student String name=null; int englishScore,mathScore; Student(int e,int m,String name) englishScore=e;
13、 mathScore=m; this.name=name;public class TreeMapExample public static void main(String args ) TreeMap treemap1=new TreeMap(); TreeMap treemap2=new TreeMap(); TreeMap treemap3=new TreeMap(); for(int i=1;i=5;i+) Scanner read=new Scanner(System.in); System.out.println(学生的姓名:); String name=read.nextLin
14、e( ); System.out.println(输入英语分数(整数):); int englishScore=read.nextInt( ); System.out.println(输入数学分数(整数):); int mathScore=read.nextInt( ); Student stu=new Student(englishScore,mathScore,name); treemap1.put(new MyKey(stu.englishScore),stu); / 向treemap1添加“键/值”对,其中值为stu,要求按英语成绩排序 treemap2.put(new MyKey(s
15、tu.mathScore),stu); / 向treemap2添加“键/值”对,其中值为stu,要求按数学成绩排序 treemap3.put(new MyKey(stu.englishScore+stu.mathScore),stu); / 向treemap3添加“键/值”对,其中值为stu,要求按总分成绩排序 System.out.println(按英语成绩排序:); Collection collection=treemap1.values(); / treemap1返回实现Collection接口的对象 Iterator iter=collection.iterator(); / col
16、lection返回的Iterator while(iter.hasNext() / 判断iter中是否存在元素 Student te =iter.next(); / 返回iter中的下一个元素 System.out.printf(姓名:%s,英语:%d,数学:%dn,te.name,te.englishScore,te.mathScore); System.out.println(按数学成绩排序:); collection=treemap2.values(); / treemap2返回实现Collection接口的对象 iter=collection.iterator(); / collect
17、ion返回的Iterator while(iter.hasNext() / 判断iter中是否存在元素 Student te =iter.next(); / 返回iter中的下一个元素 System.out.printf(姓名:%s,数学:%d,英语:%dn,te.name,te.mathScore,te.englishScore); System.out.println(按总分排序:); collection=treemap3.values(); / treemap3返回实现Collection接口的对象 iter=collection.iterator(); / collection返回的Iterator while(iter.hasNext() / 判断iter中是否存在元素 Student te =iter.next(); / 返回iter中的下一个元素 System.out.printf(姓名:%s,总分:%dn,te.name,te.englishScore+te.mathScore);【精品文档】第 5 页
限制150内