黑马程序员技术交流社区

标题: 面试小题目 [打印本页]

作者: axing110    时间: 2014-10-31 12:14
标题: 面试小题目
package test;


import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class test1 {
        public static void main(String[] args) throws IOException {
          Map<Character,Integer> map=new HashMap<>();
          BufferedReader buff=new BufferedReader(new FileReader("d:"+File.separator+"22.txt"));
          PrintWriter prin=new PrintWriter(new FileOutputStream("d:"+File.separator+"222.txt"),true);
          String str=null;
          char[] ch=null;
          while((str=buff.readLine())!=null)
          {
                  ch=str.toCharArray();
                  for(int i=0;i<ch.length;i++)
                  {
                          if(map.get(ch[i])==null)
                          {
                                  map.put(ch[i],1);
                          }
                          else
                          {
                                  int k=map.get(ch[i]);
                                  k++;
                                  map.put(ch[i],k);
                          }
                  }
          }
          Set<Map.Entry<Character,Integer>> set=map.entrySet();
          for(Iterator<Map.Entry<Character,Integer>> i=set.iterator();i.hasNext();)
          {
                  Map.Entry<Character,Integer>  k=i.next();
                  System.out.println(k.getKey()+"("+k.getValue()+")");
                  prin.println(k.getKey()+"("+k.getValue()+")");
          }
          
        }       

}


作者: sk0806    时间: 2014-10-31 12:32
楼主面试了?
作者: wzg1015    时间: 2014-10-31 12:46
面试题没这么复杂题目吧.15-20分钟就要做两道,怎么可能写这么多
作者: 郑飞    时间: 2014-11-3 07:52
wzg1015 发表于 2014-10-31 12:46
面试题没这么复杂题目吧.15-20分钟就要做两道,怎么可能写这么多

这手动的就那么几行代码 面试有比这难的  其实我想说楼主为什么不给几个中文字 说下题目
作者: song395866365    时间: 2014-11-3 08:46
光有代码没有题目这可如何是好呀
作者: 菜鸟一号    时间: 2014-11-3 08:59
楼主知道什么叫阅读性差吗?全是代码,看到好累
作者: axing110    时间: 2014-11-3 11:24
/*
* 1、 取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq" ,输出格式为:a(2)b(1)k(2)...
*
*
* 关于程序异常处理说明:
*    后面的程序有些异常非常的多。如果处理的话,会导致程序有点凌乱,所以都没有处理异常只是简单的抛出。

* */
public class test1 {

        public static void main(String[] args) {
            String str="感谢黑马程序员,感谢黑马程序员的每一位老师,谢谢你们";       
            char[] ch=str.toCharArray();//吧字符串转化为字符数组
                Map<Character,Integer> map=new HashMap<>();//建立一个map集合,
                for(int i=0;i<ch.length;i++)//循环,取得每一个元素
                {
                        if(map.get(ch[i])==null)//如果为空说明该元素还没有存储过,所以把1和该元素存储进去
                        {
                                map.put(ch[i],1);
                        }
                        else
                        {
                                int count=map.get(ch[i]);//如果该元素存在了就利用集合取出元素,并且的个数,并且做自增动作
                count++;
                                map.put(ch[i],count);
                        }
                }
                Set<Map.Entry<Character,Integer>> set=map.entrySet();//取出键值对entry。
                for(Iterator<Map.Entry<Character,Integer>> i=set.iterator();i.hasNext();)//通过循环遍历出每一个元素
                {
                        Map.Entry<Character,Integer> map1=i.next();
               String str1=map1.getKey().toString();
               String str2=map1.getValue().toString();
               System.out.print(str1+"("+str2+")");
               
                }

        }

}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2