1.给定任一字符串,任意长度,要求找出其中有多少种字符,并找出出现次数最多的字符及其出现次数。
2.文件读写:从1.txt文件中读取内容,并写入到2.txt中去。

解决方案 »

  1.   

    使用HashMap<String,Integer>来记录字符的信息,对于在Map中没有改键值的加入去然后设定值为1,如果存在则次数加1;
    使用BufferedReader来读,每次读行,然后用PrintWriter写到另一个文件就好。
      

  2.   

    第一道题,你应该创建一个字符类
    如下这样:class charac{
    private   char   dchar;//存储字符
    private   int count;//存储字符出现的个数
    public void addCount(){
    count++
    }
    public charac(char dchar){
    this.dchar=dcchar;
    count=1;
    }
    }新建一个数组,用来存储你的查找出来的不同的字符,最好排序,查找的时候二分查找,
    不同的话则插入,相同的话就addCount()
    第二道题
    public static  void main(String [] args){
    BufferedReader in=BufferedReader(new FileReader("readFileName"));
    PrintWriter  out=new PrintWriter(new FileWriter("writeFileName"));
    String   readString;
    while(readString=in.readLine()!=null){
    out.println(readString);
    in.close();
    out.close();
    }
    }
      

  3.   

    import java.util.HashMap;
    import java.util.Map;public class Test04 { public static void main(String[] args) {
    String str = "wo wo shi shi hh;";
    char[] cArray = str.toCharArray();
    Map m = new HashMap();
    for (int i = 0; i < cArray.length; i++) {
    Character c = (Character) cArray[i];
    Integer count = (Integer) m.get(c);
    m.put(c, (count == null ? 1 : new Integer(count.intValue() + 1)));
    }
    System.out.println(m); }}
      

  4.   

    结果是:{w=2,  =4, s=2, ;=1, o=2, h=4, i=2}
      

  5.   

    第一题import java.io.*;
    import java.util.SortedMap;
    import java.util.TreeMap;public class Quest1 {
    public static void main(String[] args){
    System.out.println("please input a string: ");
    String str = "";
    SortedMap<Integer,Character> map = new TreeMap<Integer,Character>();
    try{
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    str = br.readLine();
    br.close();
    }catch(IOException e){
    System.out.println(e);
    }
    char[] ch = str.toCharArray();
    for(int i=0;i<ch.length;i++){
    int count=0;
    for(int j=0;j<ch.length;j++){
    if(ch[i]==ch[j]){
    count++;
    }
    }
    if(!map.containsValue(ch[i])){
    map.put(count, ch[i]);
    }
    }
    int highest = map.lastKey();
    char cc = map.get(highest);
    System.out.println("出现频率最大的字符为 :"+cc+" "+"出现次数为:"+highest);
    }
    }
      

  6.   

    帮你找到了 请给分
    读出1.txt中的内容,写入2.txt中
     import java.io.*;
    public class Test2 {
    public static void main(String[] args) {
    try {
    File read = new File("c:\\1.txt");
    File write = new File("c:\\2.txt"); BufferedReader br = new BufferedReader(new FileReader(read));
    BufferedWriter bw = new BufferedWriter(new FileWriter(write));

    String temp = null;//临时存储变量
    temp = br.readLine();
    while (temp != null) {
    // 写文件
    bw.write(temp + "\r\n"); // 只适用Windows系统
    // 继续读文件
    temp = br.readLine();
    }
    bw.close();
    br.close();
    } catch (FileNotFoundException e) { // 文件未找到
    System.out.println(e);
    } catch (IOException e) {
    System.out.println(e);
    }
    }
    }