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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 潘才新   /  2013-9-8 16:04  /  13442 人查看  /  131 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

昨晚熬夜写的代码,刚起来有分送,果断贴上,求技术分
  1. import java.io.BufferedReader;
  2. import java.io.File;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. import java.util.ArrayList;
  6. import java.util.Collections;
  7. import java.util.LinkedList;

  8. import javax.naming.ldap.SortControl;

  9. import org.omg.CORBA.portable.Delegate;

  10. /*问题:题目描述
  11.     A文件夹下面放Aarray开头.java结尾包含Test的文件并且去除重复文档去除符合条件文档名称中.xxx   
  12.                        例如:ArrayTest2.abc.java 修改成ArrayTest2.java
  13.   
  14.    //看了好久的题意,还是没有把握猜准出题人的描述。我只能当自己的理解做出以下功能了     
  15.            功能:
  16.       1.查找Array开头.java结尾并去除重复文档
  17.       2.去除文件名中多余内容
  18.       3.排序功能:按照标题的长度排序同等长度按照ASCII码排序        
  19.       4.查找功能:输入字符串 看看文档是否存在 如果存在输出在那个文件夹下
  20. * */

  21. public class Question1 {

  22.         public static void main(String[] args) {
  23.                 // TODO Auto-generated method stub
  24.                 String string =null;
  25.                 String fileName =null;
  26.                
  27.                 File f1 =new File("G:"+File.separator+"FileA");//已经在该指定文件中创建好了测试文件
  28.                 String[] strings = f1.list();
  29.                
  30.                 printString(strings);     //扫描指定文件夹中所有的文件名

  31.                 strings = match(strings); //匹配以Array开头.java结尾的合法文件名
  32.                 printString(strings);     //打印查看
  33.                 dele(strings);            //删除文件名中多余内容并去除重复的文件名
  34.                 printString(strings);     //打印查看
  35.                
  36.                 sort(strings);//照标题的长度排序同等长度按照ASCII码排序  

  37.                 BufferedReader  in = new BufferedReader(new InputStreamReader(System.in));
  38.                 System.out.println("请输入需要查找的文件名:");
  39.                 try {
  40.                         fileName = in.readLine();
  41.                 } catch (IOException e) {
  42.                         // TODO Auto-generated catch block
  43.                         e.printStackTrace();
  44.                 }
  45.                 lookFileName(fileName,strings);//输入字符串 看看文档是否存在 如果存在输出在那个文件夹下
  46.                
  47. //                printString(strings);
  48.         }

  49.         private static void lookFileName(String fileName, String[] strings) {
  50.                 // TODO Auto-generated method stub
  51.                 for (String string : strings) {
  52.                         if(string.equalsIgnoreCase(fileName))
  53.                                 System.out.println("文件名"+fileName+"存在");
  54.                 }
  55.         }

  56.         private static String[] match(String[] strings) {
  57.                 // TODO Auto-generated method stub
  58.                 int i=0,k=0;
  59.                 for (String s : strings) {
  60.                         if (s.matches("(Array).*(\\.java)")) {   //匹配Array开头.java结尾的字符串
  61.                                 i++;
  62.                         }
  63.                 }
  64.                 String[]  newStrings = new String[i];
  65.                 for (String s : strings) {
  66.                         if (s.matches("(Array).*(\\.java)")) {   //匹配Array开头.java结尾的字符串
  67.                                 newStrings[k++]=s;
  68.                         }
  69.                 }
  70.                 return newStrings;
  71.         }

  72.         private static void printString(String[] strings) {
  73.                 // TODO Auto-generated method stub
  74.                 System.out.println("--------------");
  75.                 for (String string : strings) {
  76.                         System.out.println(string);
  77.                 }
  78.         }

  79.         private static void dele(String[] strings) {
  80.                 // TODO Auto-generated method stub
  81.                 int flag1,flag2;
  82.                
  83.                 for(int i=0;i<strings.length;i++){    //去除文件名中例如.xxx的多余内容
  84.                         flag1=0;flag2=0;
  85.                         flag1 = strings[i].indexOf(".");
  86.                         flag2 = strings[i].lastIndexOf(".");
  87.                         if(flag1 != flag2){
  88.                                 strings[i] = strings[i].substring(0, flag1)+""+strings[i].substring(flag2,strings[i].length());
  89.                         }
  90.                 }
  91.                 printString(strings);
  92.                 //去除重名的文件名字,并在去除的位置赋值为“由于重名删除”
  93.                 for(int i=0; i<strings.length; i++){
  94.                         for(int j=i+1; j<strings.length; j++){
  95.                                 if(strings[i].equalsIgnoreCase(strings[j]))
  96.                                         strings[i]="由于重名删除";
  97.                        
  98.                         }
  99.                 }
  100.         }

  101.         private static void sort(String[] strings) {
  102.                 // TODO Auto-generated method stub
  103.                 System.out.println("------标题排序后-----");
  104.                 //利用ArrayList容器实现排序
  105.                 ArrayList<String>  list = new ArrayList<String>();
  106.                 for (String string : strings) {
  107.                         list.add(string);
  108.                 }
  109.                 Collections.sort(list);//排序
  110.                 for (String string : list) {
  111.                         System.out.println(string);
  112.                 }
  113.         }

  114. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
潘才新 + 1

查看全部评分

回复 使用道具 举报
HM马强 发表于 2013-9-22 16:33
话说,版主,可以分享资源么在云6里面?

可以!有好的资源贴建议分享!有丰厚奖励!
回复 使用道具 举报
为云六奋斗吧
回复 使用道具 举报
骗人么?我反正是没有拿到分哦,求分

评分

参与人数 1黑马币 +3 收起 理由
潘才新 + 3

查看全部评分

回复 使用道具 举报
人活着要有追求,否则和行尸走肉没有两样,虽说我以前就是行尸走肉。

评分

参与人数 1技术分 +1 收起 理由
潘才新 + 1 我相信你 的决定是对的

查看全部评分

回复 使用道具 举报
2分新人正在奋斗,不知道学云以后有没有Android发展好

评分

参与人数 1技术分 +1 收起 理由
潘才新 + 1 这可不好说~

查看全部评分

回复 使用道具 举报
现在还有分拿吗{:soso_e101:}
回复 使用道具 举报
不知道现在还有没有了?
回复 使用道具 举报
晨曦 发表于 2013-9-26 23:56
骗人么?我反正是没有拿到分哦,求分

分不多,给你了,我没时间上!不好意思撒
回复 使用道具 举报

亲。分部能乱给的,多参加活动回帖发帖
回复 使用道具 举报
来看看{:soso_e113:}
回复 使用道具 举报
求加分啊,要不然赶不上了
回复 使用道具 举报
求加分啊,要不然赶不上了

评分

参与人数 1技术分 +1 收起 理由
潘才新 + 1 你报几期a

查看全部评分

回复 使用道具 举报
恩,赶快加入了,最近忙博客了。。。
回复 使用道具 举报
本帖最后由 夏闯富 于 2013-10-9 21:17 编辑

{:soso_e100:}{:soso_e130:}
回复 使用道具 举报
真的,云计算怎么没什么活动,嘿嘿,版主应该多给点机会嘛
回复 使用道具 举报
入学测试到底是10个技术分还是25个技术分啊?顺便给我来一分把..
回复 使用道具 举报
也打算进入下一期云班。现在正在自学中。云和android的自学教程一样么?
顺便提一下,个人觉得云发展不会比android差啊,虽然android势不可挡。云也是啊
回复 使用道具 举报
想要进云六啊,求加分
回复 使用道具 举报
一直努力吧,只因为都喜欢java

评分

参与人数 1技术分 +1 收起 理由
潘才新 + 1 新人多逛逛论坛

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马