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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. package com.itheima.day1117;

  2. import java.util.ArrayList;
  3. import java.util.Collection;
  4. import java.util.List;

  5. public class Demo_text09 {

  6.         public static void main(String[] args) {
  7.                 List<Integer> list = new ArrayList<Integer>();
  8.                 list.add(1);
  9.                 list.add(2);
  10.                 list.add(3);
  11.                 list.add(4);
  12.                 list.add(5);
  13.                 list.add(6);
  14.                 list.add(7);
  15.                 list.add(8);
  16.                 list.add(9);
  17.                
  18.                 List<Integer> list2 = new ArrayList<Integer>();
  19.                 list2.add(11);
  20.                 list2.add(12);
  21.                 list2.add(13);
  22.                 list2.add(14);
  23.                 list2.add(15);
  24.                 list2.add(16);
  25.                 list2.add(17);
  26.                 list2.add(18);
  27.                 list2.add(19);
  28.                
  29.                 replceAll(list,7,list2);
  30.                 System.out.println(list);
  31.        

  32.         }
  33.         public static void replceAll(List<Integer> list,int index,List<Integer> list2){
  34.                 int count = 0;
  35.                 if (index < list.size()) {
  36.                         if ((list.size()+1-index - list2.size()) >= 0) {
  37.                                 for (int i = count; i < list2.size(); i++) {
  38.                                 list.remove(index);
  39.                                 list.add(index, list2.get(count));
  40.                                 count++;
  41.                                 index++;
  42.                                 }
  43.                         }else if ((list.size()+1-index - list2.size()) < 0) {
  44.                                 for (int i = index; i < list.size(); i++) {
  45.                                         list.remove(i);
  46.                                         list.add(i, list2.get(count));
  47.                                         count++;
  48.                                 }
  49.                                 for (int i = count; i < list2.size(); count++,i++) {
  50.                                         list.add(list2.get(count));
  51.                                 }
  52.                         }
  53.                 }
  54.                 else {
  55.                         System.out.println("您输入的角标值有误!!");
  56.                 }
  57.         }
  58. }
复制代码

19 个回复

倒序浏览
就是有一个坏毛病,每次写代码都不加注释,这个问题一直是病。得治!!
回复 使用道具 举报
220070918807
回复 使用道具 举报
让自己重新振作起来,重新年轻起来,重新为自己热泪盈眶!
回复 使用道具 举报
不错,牛。。。。。。。。。。
回复 使用道具 举报
没写注释的越看越别扭!
回复 使用道具 举报
好厉害!!!!!!!
回复 使用道具 举报
zhuchen 中级黑马 2015-11-19 00:05:24
8#
我不会格式```````
回复 使用道具 举报
厉害啊,
回复 使用道具 举报
李子博 发表于 2015-11-18 00:55
让自己重新振作起来,重新年轻起来,重新为自己热泪盈眶!

呵呵,这是在给自己打气么?
回复 使用道具 举报
ln0491 发表于 2015-11-18 11:49
不错,牛。。。。。。。。。。

惭愧,只是把题目看错了,本来是要把集合中的a元素替换成b元素,我理解成了一个新集合是替换老集合,写这个题对于我这种小白,花了半个小时敲代码,花了半个小时找错误。是在惭愧
回复 使用道具 举报
小鹿 发表于 2015-11-18 13:30
没写注释的越看越别扭!

恩恩,我这个毛病得治,自己有思路的时候噼里啪啦的一下子就给敲了,但是别人来看的时候就蒙了
回复 使用道具 举报
多写点注释吧,这么写很难理解你的思路
回复 使用道具 举报
本帖最后由 橘子果酱 于 2015-11-19 14:43 编辑
  1. package com.heima23;

  2. import java.io.BufferedInputStream;
  3. import java.io.BufferedOutputStream;
  4. import java.io.File;
  5. import java.io.FileInputStream;
  6. import java.io.FileNotFoundException;
  7. import java.io.FileOutputStream;
  8. import java.io.IOException;
  9. import java.util.Scanner;
  10. /*
  11. * 键盘获取两个文件夹路径,将其中的一个文件夹中的.java文件改为.tat文件并拷贝到另一个文件夹中
  12. *
  13. * 创建目标文件夹,在目标文件夹中创建原文件夹名
  14. * 获取路径下的所有文件或文件夹 封装成 File数组
  15. * 遍历数组
  16. * 如果是文件   如果文件是以.java结尾  就用IO流读 并改名
  17. * 改名后用IO流写 改过名后的文件
  18. * 是文件夹有调用递归
  19. * 关流
  20. * */
  21. public class Practice_CopyFile {

  22.         public static void main(String[] args) throws IOException {
  23.                 File src = getFile();        //原文件路径
  24.                 File dest = getFile();        //目标文件夹路径
  25.                                 
  26.                 copy(src,dest);                        //调用复制功能
  27.                
  28.         }

  29.         public static File getFile() {
  30.                         //创建键盘录入对象
  31.                 Scanner sc = new Scanner(System.in);
  32.                 System.out.println("请录入一个文件夹路径:");
  33.                         //无限循环
  34.                 while(true){
  35.                         String line = sc.nextLine();
  36.                         //将字符串封装成File对象
  37.                         File file = new File(line);
  38.                         //如果路径不存在,提示
  39.                         if(!file.exists()){
  40.                                 System.out.println("不存在,重新录。。。。");
  41.                         //如果是文件路径,提示
  42.                         }else if(file.isFile()){
  43.                                 System.out.println("您录得是文件,请录文件夹路径。。。。");
  44.                         }else{
  45.                         //返回文件
  46.                                 return file;
  47.                         }
  48.                 }
  49.         }
  50.         
  51.         public static void copy(File src, File dest) throws IOException{
  52.                 //创建目标文件夹,并在目标文件夹中创建原文件夹名
  53.                 File newDir = new File(dest,src.getName());
  54.                 newDir.mkdir();
  55.                 //获取路径下的所有文件或文件夹 封装成File数组
  56.                 File[] subFiles = src.listFiles();
  57.                 //遍历数组
  58.                 for(File subFile : subFiles){
  59.                 //判断如果是文件
  60.                         if(subFile.isFile()){
  61.                                 //如果文件名是以.java结尾
  62.                                 if(subFile.getName().endsWith(".java")){
  63.                                 //用IO流读
  64.                                         BufferedInputStream bis = new BufferedInputStream(
  65.                                                         new FileInputStream(subFile));        
  66.                                 //改名
  67.                                         String subFileName = subFile.getName();                                       
  68.                                         String newName = subFileName.replace(".java", ".txt");
  69.                                         File  fff = new File(dest, newName);
  70.                                 //用IO流写 改名后的文件
  71.                                         BufferedOutputStream bos = new BufferedOutputStream(
  72.                                                         new FileOutputStream(fff));
  73.                                 //高效读取
  74.                                 byte[] bys = new byte[1024*8];
  75.                                 int len;
  76.                                 while((len = bis.read(bys))!= -1){
  77.                                         bos.write( bys,0,len);                                       
  78.                                 }
  79.                                 //关流
  80.                                 bis.close();
  81.                                 bos.close();                                
  82.                                 }                                                               
  83.                                 //是文件夹就调用递归
  84.                         }else {
  85.                                 copy(subFile,newDir);
  86.                         }
  87.                 }
  88.         }
  89.         

  90. }
复制代码
回复 使用道具 举报
亲没有注释啊,看着有点小别扭
回复 使用道具 举报
yubail 中级黑马 2015-11-19 23:16:59
16#
支持一下
回复 使用道具 举报
jlq 中级黑马 2015-11-19 23:53:33
17#
jaiyouba  小年轻
回复 使用道具 举报
和你差不多的 ,不怎么写,要改.
回复 使用道具 举报
学到了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马