第一题:List list=new ArrayList();
        list.add(a);
        list.add(b);
        list.add(c)        最后要输出的效果为 'a','b','c'也就是把a和b和c加个'',中间还要有逗号,c的后面没有.求好的方法
第二题:随便一个字符串,比如:String str="zhAngSAN";字符串里面有大写也有小写,让你输出的效果为先从a-z,在到A-Z,效果如下h(1)n(1)g(1)z(1)A(2)N(1)S(1)括号里是他出现的次数

解决方案 »

  1.   

    第一个问题很简单
    package scjp;import java.util.ArrayList;
    import java.util.List;public class TestArrayList {      public static void main(String[] args){
          
          List list=new ArrayList();
          list.add("a");
          list.add("b");
          list.add("c");
          for(int i=0;i<list.size();i++){
          
          String str=(String)list.get(i);
                  str="\'"+str+"\'";
            System.out.println(str);
          
          }
          
         }
    }
      

  2.   

    第二道题目说的清楚一些 然后再给你答你说的先说大写在输小写,可以用ASCII来实现
      

  3.   

    楼上的第一题的方法对吗,我要输出的效果是'a','b','c'中间要有逗号的,但是c后面没有。还有没有在简单点的方法
      

  4.   

    第2题的意思是说aabcAAAB,输出的效果是a(2)b(1)c(1)A(3)B(1),就是先检查字符串中的小写,把他出现的次数写在他后面的括号里,小写完了在排大写,也是那样的规则
      

  5.   

    题1:
    import  java.util.*;public class a{
    public static void main(String args[]){
    List list = new ArrayList();
    list.add("a");
    list.add("b");
    list.add("c");
    StringBuffer sb = new StringBuffer();
    int i=0;
    for(;i<list.size()-1;i++){
        sb.append("\'"+(String)list.get(i)+"\',");
    }
    sb.append("\'"+(String)list.get(i)+"\'");
    System.out.println(sb);
    }
    }
      

  6.   

    第一个 将就2楼的代码
    for(int i=0;i<list.size();i++){
      String str=(String)list.get(i);
      str="\'"+str+"\'";
      if (i !=list.size -1)
        str = str + ",";
      System.out.println(str);
    }
    第二个
    public static void getCharactor(String s) {
            int count = 0;
            int index = 0;
            int tmp = 0;
            byte k = 97;
            while (k != -1) {
                for (byte i = k; i < k + 26; i++) {
                    String string = new String(new byte[] { i });
                    for (int j = 0; j < s.length(); j++) {
                        index = s.indexOf(string, tmp);
                        if (index != -1) {
                            count++;
                            tmp = index + 1;
                        }
                    }
                    if (count != 0)
                        System.out.print(string + "(" + count + ")");
                    
                    count = 0;
                    tmp = 0;
                }
                if (k == 97)
                    k = 65;
                else if (true)
                    k = -1;
                else
                    break;
            }
        }
      

  7.   

    else
    break;没的用 删除掉
      

  8.   

    第二题的计数程序给你写了,显示程序自己写吧:
    public static Map<Character, Integer> countLetters(String s) {
    Map<Character, Integer> lowerCase = new TreeMap<Character, Integer>();
    Map<Character, Integer> upperCase = new TreeMap<Character, Integer>();
    Map<Character, Integer> result = new LinkedHashMap<Character, Integer>();
    for (int i = 0; i < s.length(); i++) {
    Character c = new Character(s.charAt(i));
    if (Character.isLowerCase(c)) {
    if (lowerCase.containsKey(c))
    lowerCase.put(c, new Integer(lowerCase.get(c).intValue()+1));
    else
    lowerCase.put(c , new Integer(1));
    }
    else if (Character.isUpperCase(c)) {
    if (upperCase.containsKey(c))
    upperCase.put(c, new Integer(upperCase.get(c).intValue()+1));
    else
    upperCase.put(c , new Integer(1));
    }
    }
    result.putAll(lowerCase);
    result.putAll(upperCase);
    return result;
    }
      

  9.   

    同意leyso()对第一题的答案
    用 StringBuffer 和 i<list.size()-1 方法来提高性能。
    当list.size()非常大的时候,省掉一句 if (i != list.size()-1),性能能提高很多
      

  10.   

    非常同意楼上的说法,省掉if语句在问题规模很大的情况下性能会有显著提高
    Neil_Dang(C∞l Dog):
     if (i !=list.size -1)
    无法编译
    应改为if(i!=list.size()-1)
      

  11.   

    package scjp;import java.util.Iterator;
    import java.util.LinkedHashMap;
    import java.util.Map;
    import java.util.Set;
    import java.util.TreeMap;public class TestArrayList { public static void main(String[] args) {
              TestArrayList test = new TestArrayList();
    Map map = TestArrayList.countLetters("aAdaedw");
               
    test.getUserString(map);
    //System.out.println(map.size() + "=========" + map); } public static Map<Character, Integer> countLetters(String s) {
    Map<Character, Integer> lowerCase = new TreeMap<Character, Integer>();
    Map<Character, Integer> upperCase = new TreeMap<Character, Integer>();
    Map<Character, Integer> result = new LinkedHashMap<Character, Integer>();
    for (int i = 0; i < s.length(); i++) {
    Character c = new Character(s.charAt(i));
    if (Character.isLowerCase(c)) {
    if (lowerCase.containsKey(c))
    lowerCase.put(c, new Integer(
    lowerCase.get(c).intValue() + 1));
    else
    lowerCase.put(c, new Integer(1));
    } else if (Character.isUpperCase(c)) {
    if (upperCase.containsKey(c))
    upperCase.put(c, new Integer(
    upperCase.get(c).intValue() + 1));
    else
    upperCase.put(c, new Integer(1));
    }
    }
    result.putAll(lowerCase);
    result.putAll(upperCase);
    return result;
    } public void getUserString(Map map) { Map mapUse = map; Set keys = map.keySet();
    Iterator keyIter = keys.iterator();
    while (keyIter.hasNext()) { Object nextName = keyIter.next();
    Object phoneNum = map.get(nextName);
    System.out.print(nextName + "(" + phoneNum + ")");
    } }
    }
      

  12.   

    to: ls的ls
    结帖!我看你是冤枉写了那么多代码,谁叫我们学的是Java的呢——开源呗。