第7章 常用实用类#(精选.)
- 格式:doc
- 大小:31.00 KB
- 文档页数:6
第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.nextInt( );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(); //初始化日历对象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 Date(timeOne); // 用timeOne作为参数构造date1Date date2=new Date(timeTwo); // 用timeTwo作为参数构造date2if(date2.equals(date1))System.out.println("两个日期的年、月、日完全相同");else if(date2.after(date1))System.out.println("您输入的第二个日期大于第一个日期");else if(date2.before(date1))System.out.println("您输入的第二个日期小于第一个日期");long 相隔天数=(timeTwo-timeOne)/(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) {=name;// 将参数name传值给成员变量}public String getName() {return name; // 返回成员变量name}boolean isMine( ) {return boo; // 返回成员变量boo}public void setBoolean(boolean boo) {this.boo=boo; // 将参数boo传值给成员变量boo}}public class MineExample {public static void main(String args[ ]) {int mine=25;Block block[ ][ ]=new Block[8][8];for(int i=0;i<8;i++) {for(int j=0;j<8;j++) {block[i][j]=new Block( );}}LinkedList<Block> list=new LinkedList<Block>(); // 创建listfor(int i=0;i<8;i++) {for(int j=0;j<8;j++) {list.add(block[i][j]); //将block[i][j]添加到list}}while(mine>=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); // list删除索引值为randomIndex的节点mine--;}for(int i=0;i<8;i++) {for(int j=0;j<8;j++) {if(block[i][j].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(block[k][t].isMine() )mineNumber++;}}block[i][j].setName(""+mineNumber);}}}for(int i=0;i<8;i++) {for(int j=0;j<8;j++) {System.out.printf("%2s",block[i][j].getName() );}System.out.printf("%n");}}}实验3 使用TreeSet排序2.模板代码TreeSetExample.javaimport java.util.*;public class TreeSetExample {public static void main(String args[ ]) {TreeSet<Student> mytree=new TreeSet<Student>();for(int i=0;i<5;i++) {Scanner read=new Scanner(System.in);System.out.println("学生的姓名:");String name=read.nextLine( );System.out.println("输入分数(整数):");int score=read.nextInt( );mytree.add(new Student(score,name)); // 向mytree添加Student对象}Iterator<Student> te=mytree.iterator(); // mytree返回Iterator对象while(te.hasNext()) // 判断te中是否存在元素{Student stu=te.next(); // 返回te中的下一个元素System.out.println(""++" "+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 implements 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;elsereturn (this.number-st.number);}}class Student {String name=null;int englishScore,mathScore;Student(int e,int m,String name) {englishScore=e;mathScore=m;=name;}}public class TreeMapExample {public static void main(String args[ ]) {TreeMap<MyKey,Student> treemap1=new TreeMap<MyKey,Student>();TreeMap<MyKey,Student> treemap2=new TreeMap<MyKey,Student>();TreeMap<MyKey,Student> treemap3=new TreeMap<MyKey,Student>();for(int i=1;i<=5;i++) {Scanner read=new Scanner(System.in);System.out.println("学生的姓名:");String name=read.nextLine( );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(stu.mathScore),stu); // 向treemap2添加“键/值”对,其中值为stu,要求按数学成绩排序treemap3.put(new MyKey(stu.englishScore+stu.mathScore),stu); // 向treemap3添加“键/值”对,其中值为stu,要求按总分成绩排序}System.out.println("按英语成绩排序:");Collection<Student> collection=treemap1.values(); // treemap1返回实现Collection接口的对象Iterator<Student> iter=collection.iterator(); // collection返回的Iteratorwhile(iter.hasNext()) // 判断iter中是否存在元素{Student te =iter.next(); // 返回iter中的下一个元素System.out.printf("姓名:%s,英语:%d,数学:%d\n",,te.englishScore,te.mathScore);}System.out.println("按数学成绩排序:");collection=treemap2.values(); // treemap2返回实现Collection接口的对象iter=collection.iterator(); // collection返回的Iteratorwhile(iter.hasNext()) // 判断iter中是否存在元素{Student te =iter.next(); // 返回iter中的下一个元素System.out.printf("姓名:%s,数学:%d,英语:%d\n",,te.mathScore,te.englishScore);}System.out.println("按总分排序:");collection=treemap3.values(); // treemap3返回实现Collection接口的对象iter=collection.iterator(); // collection返回的Iteratorwhile(iter.hasNext()) // 判断iter中是否存在元素{Student te =iter.next(); // 返回iter中的下一个元素System.out.printf("姓名:%s,总分:%d\n",,te.englishScore+te.mathScore);}}}最新文件仅供参考已改成word文本。