java作业
来源:互联网 发布:无纸化会议软件定制 编辑:程序博客网 时间:2024/05/24 06:14
1:需求:递归删除带内容的目录 假设删除当前项目下的目录:demo,demo中可以有文件夹自己给出
public class FileDeleteDemo { public static void main(String[] args) { // 封装目录 File srcFolder = new File(""D:\\demo\\aaa\\bbb\\ccc""); // 递归实现 DeleteFolder(srcFolder); } private static void DeleteFolder(File srcFolder) { // 获取该目录下的文件或者文件夹的File数组 File[] fileArray = srcFolder.listFiles(); if (fileArray != null) { // 遍历该File数组,得到每个File对象 for (File file : fileArray) { // 判断该File对象是否是文件夹 if (file.isDirectory()) { DeleteFolder(file); } else { System.out.println(file.getName() + "---" + file.delete()); } } System.out .println(srcFolder.getName() + "---" + srcFolder.delete()); } } }
2:需求:请大家把E:\JavaSE目录下所有的java结尾的文件的绝对路径给输出在控制台。
public class File_JavaSEDemo { public static void main(String[] args) { File file =new File("E:\\JavaSE"); File[] list = file.listFiles(); for(File s:list) { if(s.isFile()) { if(s.getName().endsWith("java")) { System.out.println(s.getName()); } } } }}
3:下面程序段的执行结果是什么?( B )
public class Foo{
public static void main(String[] args){
try{
return;}
finally{System.out.println(“Finally”);
}
}
}
A.编译能通过,但运行时会出现一个例外。 B.程序正常运行,并输出 “Finally”。
C.程序正常运行,但不输出任何结果。 D.因为没有catch语句块,所以不能通过编
4:对于已经被定义过可能抛出异常的语句,在编程时( A)。
A.必须使用try/catch语句处理异常,或用throw将其抛出。
B.如果程序错误,必须使用 try/catch语句处理异常。
C.可以置之不理。
D.只能使用try/catch语句处理。
5:哪个关键字可以抛出异常?( B )
A.transient B.throw C.finally D.catch
6:请问所有的异常类皆继承哪一个类?( A)
A.java.lang.Throwable B.java.lang.Exception
C.java.lang.Error D.java.io.Exception
7.System类在哪个包中?( B )
A.java.awt B.java.lang C.java.util D.java.io
A:简答题
2、请说明Map接口和Collection接口的区别
Map为双链集合,collection为单链集合
3、请写出Map集合的遍历方式
第一种:通过Map.keySet遍历key和value 第二种:通过Map.entrySet使用iterator遍历key和value 第三种:通过Map.entrySet遍历key和value 第四种:通过Map.values()遍历所有的value
4、请说明HashMap和Hashtable的区别
HashMap非同步的 效率高 数据不安全 Hashtable同步的 效率第 数据安全
5、请解释Collection与Collections的区别
Collection为单链集合 Collections为对单链集合操作的工具类
B:看程序写结果(写出自己的分析理由),程序填空,改错,看程序写结果。
class Car {
private String brand;//品牌
private int year; //制造年份
public Car () {}
public Car (String brand, int year) {
this.brand = brand;
this.year = year;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getBrand(){
return brand;
}
public void setYear(int year) {
this.year = year;
}
public int getYear(){
return year;
}
}
1、给出以下代码,请问该程序的运行结果是什么?如有问题,请说明原因。
class Test {
public static void main(String[] args) {
HashMap
Kevin原因:添加kevin时候,替代了之前的Jim,因为他们的键相同
2、给出以下代码,已定义好Car类,请问该程序的运行结果是什么?如有问题,请说明原因。
class Test {
public static void main(String[] args) {
HashMap
JimKevin
3、给出以下代码,请问该程序的运行结果是什么?如有问题,请说明原因。
class Test {
public static void main(String[] args) {
TreeMap
11--Tom23--Kevin45--David原因:Treemap集合会对键进行自然排序,由于jim和kevin的健相同所以kevin替代了jim
4、给出以下代码,已定义好Car类,请问该程序的运行结果是什么?如有问题,请说明原因。
class Test {
public static void main(String[] args) {
TreeMap
奥迪A4L–2014–Kevin 奥迪Q7–2014–Jim 宝马X5–2014—David 实现了comparator接口,所以排序按照先年月,后品牌
C:编程题
1、请编写程序,统计一个字符串中每个字符出现的次数
public class StringNumber {public static void main(String[] args) { HashMap<Character,Integer > hm = new HashMap<Character,Integer>(); Scanner sc = new Scanner(System.in); System.out.println("请随意输入一串字符:"); String next = sc.next(); char[] ch = next.toCharArray(); for(char s:ch) { Integer count = hm.put(s, 1); if(count==null) count=1; count++; hm.put(s, count); } Set<Entry<Character,Integer>> entrySet = hm.entrySet(); for(Entry<Character,Integer> s1:entrySet) { System.out.println(s1.getKey()+"---"+s1.getValue()); }}}
2、请编写程序,存储自定义对象到HashMap集合中,并采用两种方式遍历
public class HashMapDemo { public static void main(String[] args) { HashMap<Student, Integer> hm = new HashMap<Student, Integer>(); hm.put(new Student(20, "紫霞"), 1); hm.put(new Student(21, "朱茵"), 2); hm.put(new Student(21, "朱茵1"), 3); hm.put(new Student(21, "至尊宝"), 4); Set<Student> keySet = hm.keySet(); for (Student s1 : keySet) { System.out.println(s1 + "-----" + hm.get(s1)); } Set<Entry<Student, Integer>> es = hm.entrySet(); for (Entry<Student, Integer> s : es) { System.out.println(s.getKey() + "===" + s.getValue()); } }}
3、请编写程序,存储自定义对象到TreeMap集合中,并采用两种方式遍历
public class TreeMapDemo{ public static void main(String[] args) { TreeMap<String, String> tm = new TreeMap<String, String>(); // 给键值对集合存入元素 tm.put("至尊宝", "紫霞"); tm.put("刘备", "孙尚香"); tm.put("项羽", "虞姬"); tm.put("赵云", "貂蝉"); // 遍历,通过建找值 Set<String> keys = tm.keySet(); for (String key : keys) { System.out.println(key + " " + tm.get(key)); } System.out.println("-------"); Set<Entry<String,String>> entrySet = tm.entrySet(); for (Entry<String, String> entry : entrySet) { System.out.println(entry.getKey()+" "+entry.getValue()); } }}
4、请编写程序,完成集合嵌套,并遍历
jc 基础班
张三 20
李四 22
jy 就业班
王五 21
赵六 23
HashMap嵌套HashMap
HashMap嵌套ArrayList
public class Demo { public static void main(String[] args) { HashMap<String,HashMap<String, Integer>> bighm = new HashMap<String,HashMap<String, Integer>>(); HashMap<String, Integer> hm = new HashMap<String,Integer>(); HashMap<String, Integer> hm2 = new HashMap<String,Integer>(); hm.put("张三", 20); hm.put("李四", 22); bighm.put("基础班",hm); hm2.put("王五", 23); hm2.put("赵六", 24); bighm.put("就业班", hm2); Set<Entry<String, HashMap<String, Integer>>> bigen = bighm.entrySet(); for(Entry<String, HashMap<String, Integer>> s:bigen) { System.out.println(s.getKey()); Set<Entry<String,Integer>> entrySet = s.getValue().entrySet(); for(Entry<String,Integer> s1:entrySet) { System.out.println("\t"+s1.getKey()+"=="+s1.getValue()); } } }}
5、请编写程序,完成模拟斗地主案例
public class PuKei{ public static void main(String[] args) { //1.先创建两个String数组存储牌的点数和花色 //点数 String []numbers={"3","4","5","6","7","8","9","10","J","O","k","A","2"}; String []colors={ "♥", "♠", "♣", "♦" }; //2.因为要洗牌所以用ArrayList集合存储牌的序号 ArrayList<Integer> lists = new ArrayList<Integer>(); //3.创建hashmap来存储牌的序号和牌的内容 HashMap<Integer, String> hs = new HashMap<Integer, String>(); //4.遍历上面的两个数组,将序号和牌加入hs中,并将序号加入lists中 int index=0; for (String number : numbers) { for (String color : colors) { hs.put(index, color+number); lists.add(index); index++; } } //5.将大王和小王加入hs中,序号加入lists中 lists.add(index); hs.put(index, "大王"); index++;//序号加1 lists.add(index); hs.put(index, "小王"); //6.洗牌,洗牌的时候洗索引 Collections.shuffle(lists); //7.发牌。创建TreeSet集合来存储各自的牌的序号,使得牌有序 TreeSet<Integer> zhangsan = new TreeSet<Integer>(); TreeSet<Integer> lisi = new TreeSet<Integer>(); TreeSet<Integer> wangwu = new TreeSet<Integer>(); TreeSet<Integer> dipai = new TreeSet<Integer>(); //用for循环发牌 for (int i = 0; i < lists.size(); i++) { if(i>=lists.size()-3){ dipai.add(lists.get(i)); }else if(i%3==0){ zhangsan.add(lists.get(i)); }else if(i%3==1){ lisi.add(lists.get(i)); }else if(i%3==2){ wangwu.add(lists.get(i)); } } lookpoker("张三", zhangsan, hs); lookpoker("李四", lisi, hs); lookpoker("王五", wangwu, hs); lookpoker("底牌", dipai, hs); } //8.写一个看牌的方法 public static void lookpoker(String name,TreeSet<Integer> ts,HashMap<Integer, String> hs){ System.out.print(name+"的牌是: "); for (Integer it : ts) { System.out.print(hs.get(it)+" "); } System.out.println(); }}
- JAVA作业
- Java作业
- Java作业
- java作业
- java作业
- JAVA作业
- java作业
- java作业
- Java作业。。。
- java作业。。。
- Java作业
- java作业
- java作业
- java作业
- java作业
- java作业
- java作业
- java作业
- Java synchronized 学习笔记
- zookeeper原理必读
- 谈谈系统架构这个东西
- excel从入门到忘记 学习心得分享(含百度网盘分享)
- mysql登录报错“Access denied for user 'root'@'localhost' (using password: YES”)的处理方法
- java作业
- MySql Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 解决方法
- 输出文件到项目
- 拷贝构造函数和赋值运算符的重载的调用次数问题
- Dynamic Programming
- VMware Ubuntu安装详细过程(非常靠谱)
- SQL语句
- Pie(二分法+double输入用%lf,输出用%f!!!)
- 架构犹如探险,眼界必须超前