A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 cc19930915 于 2016-5-11 16:48 编辑

Test17--一个ArrayList对象aList中存有若干个字符串元素,现欲遍历该ArrayList对象,删除其中所有值为"abc"的字符串元素,请用代码实现。

如果有更好的解决方式,你可以发出来提供参考


  1. public class Test17 {
  2.         public static void main(String[] args) {
  3.                 ArrayList<String> list  = new ArrayList<>();
  4.                 list.add("abc");
  5.                 list.add("bc");
  6.                 list.add("bec");
  7.                 list.add("bfsc");
  8.                 list.add("bec");
  9.                 list.add("brewc");
  10.                 list.add("abc");
  11.                 /*for (int i = 0; i < list.size(); i++) {
  12.                         if("abc".equals(list.get(i))){
  13.                                 list.remove(i);
  14.                         }
  15.                 }*/
  16.                 ListIterator<String> it = list.listIterator();
  17.                 while(it.hasNext()){
  18.                         if("abc".equals(it.next())){
  19.                                 it.remove();
  20.                         }
  21.                 }
  22.                 System.out.println(list);
  23.         }

  24. }
复制代码
回复 使用道具 举报
Test18--1.写一个Properties格式的配置文件,配置类的完整名称。写一个程序,2.读取这个Properties配置文件,获得类的完整名称并加载这个类,用反射 的方式运行run方法。

如果有更好的解决方式,你可以发出来提供参考

ps:这种题目写的比较少,个人感觉我代码肯定是可以优化的

  1. public class Test18 {
  2.         public static void main(String[] args) throws Exception {
  3.                 //创建对象
  4.                 Properties pp = new Properties();
  5.                 //获取方法名
  6.                 String method_name = getPro(pp,"Method");
  7.                 //获取类名
  8.                 String class_name = getPro(pp, "Class");
  9.                 //释放资源
  10.                 pp.clone();
  11.                 //获取字节码对象
  12.                 Class clazz = Class.forName(class_name);
  13.                 //获取方法对象
  14.                 Method method = clazz.getDeclaredMethod(method_name,null );
  15.                 //获取构造
  16.                 Constructor con = clazz.getConstructor();
  17.                 //创建实例
  18.                 Object obj = con.newInstance();
  19.                 //方法执行
  20.                 method.invoke(obj, null);
  21.         }
  22.        

  23.         /*
  24.          * 获取配置
  25.          */
  26.         private static String getPro(Properties pp,String key) throws Exception {
  27.                 pp.load(new FileReader("配置.txt"));
  28.                 String value = pp.getProperty(key);
  29.                 return value;
  30.         }


  31.         /*
  32.          * 设置配置
  33.          */
  34.         private static void setPro(Properties p,String key,String value) throws IOException {
  35.                 p.setProperty(key, value);
  36.                 p.store(new FileWriter("配置.txt"), null);
  37.         }

  38. }
复制代码
回复 使用道具 举报
Test19--单例模式获取设置配置信息



说实话,我没读懂这题,求大神做
回复 使用道具 举报
本帖最后由 cc19930915 于 2016-5-11 17:53 编辑

Test20--编写一个程序,获取10个1至20的随机数,要求随机数不能重复。

如果有更好的解决方式,你可以发出来提供参考

  1. public class Test20 {
  2.         public static void main(String[] args) {
  3.                 Set<Integer> set = new HashSet<>();
  4.                 Random r = new Random();
  5.                 while(set.size() != 20){
  6.                         int num = r.nextInt(21);
  7.                         set.add(num);
  8.                 }
  9.                 System.out.println(set);
  10.         }

  11. }
复制代码


回复 使用道具 举报
本帖最后由 cc19930915 于 2016-5-11 18:29 编辑

Test21--编写一个程序,获取10个1至20的随机数,要求随机数不能重复。

如果有更好的解决方式,你可以发出来提供参考

  1. public class Test21 {

  2.         public static void main(String[] args) throws Exception {
  3.                 Arr a = new Arr();
  4.                 Thread t1 = new Thread(a);
  5.                 Thread t2 = new Thread(a);
  6.                 t1.setName("线程一");
  7.                 t2.setName("线程二");
  8.                 t1.start();
  9.                 t2.start();
  10.                 t1.join();
  11.                 t2.join();
  12.                 for (String string : a.arr) {
  13.                         System.out.println(string);
  14.                 }
  15.         }        
  16. }
  17. class Arr implements Runnable{
  18.         String[] arr = new String[6];
  19.         int index = 0;
  20.         @Override
  21.         public void run() {
  22.                 for (int i = 0; i < 3; i++) {               
  23.                         try {
  24.                                 Thread.sleep(new Random().nextInt(100));
  25.                                 add();
  26.                         } catch (InterruptedException e) {
  27.                                 
  28.                                 e.printStackTrace();
  29.                         }
  30.                 }
  31.         }
  32.         public synchronized void add(){
  33.                         arr[index] = Thread.currentThread().getName() + index;
  34.                         index++;        
  35.         }
  36. }
复制代码
回复 使用道具 举报
Test22--代码实现c盘某个文件夹复制到D盘中,加上代码,加上注释,加上思路。

如果有更好的解决方式,你可以发出来提供参考

ps:代码比较简单,稍微看一下就明白了,就不加思路了  麻烦

  1. public class Test22 {

  2.         /**
  3.          * @param args
  4.          * @throws IOException
  5.          */
  6.         public static void main(String[] args) throws IOException {
  7.                 File srcfile = new File("F:\\javase");
  8.                 File destfile = new File("F:\\新建文件夹");
  9.                 findFile(srcfile,destfile);
  10.         }

  11.         private static void findFile(File srcfile, File destfile) throws IOException {
  12.                 File[] files = srcfile.listFiles();
  13.                 for (File file : files) {
  14.                         if(file.isFile()){
  15.                                 File newfile = new File(destfile,file.getName());
  16.                                 copyFile(file,newfile);
  17.                         }else{
  18.                                 File newfile = new File(destfile,file.getName());
  19.                                 newfile.mkdir();
  20.                                 findFile(file, newfile);
  21.                         }
  22.                 }
  23.         }

  24.         private static void copyFile(File srcfile, File destfile) throws IOException {
  25.                 BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcfile));
  26.                 BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destfile));
  27.                 byte[] arr = new byte[1024 * 8];
  28.                 int len = 0;
  29.                 while((len = bis.read(arr)) != -1){
  30.                         bos.write(arr, 0, len);
  31.                 }
  32.                 bis.close();
  33.                 bos.close();
  34.         }
  35.        
  36. }
复制代码

回复 使用道具 举报
辛苦了,敲得这么厉害
回复 使用道具 举报
看一看。。。。。。。。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马