本帖最后由 andy1217 于 2009-11-17 15:06:16 编辑

解决方案 »

  1.   

    LZ是想通过sql直接得到还是通过java语句得到啊
      

  2.   

    先用个循环把flight_num自加起来(如果flight_num是字符串类型)
    for(int i = 0; i < 行数; i++)
    {
     flight_num += flight_num+" ";
    }String[] num = filight_num.split(" ");
    Map<String, int> numCount = new HashMap<String, int>();
    int count = 1;
    for(int i = 0; i < num.length; i++)
    {
        for(int j = i + 1; j < num.length; j++)
       {
            if(num[i] = -1)
           {
            if(num[i] = num[j])
            {
               num[j] = -1;
               count++;
            }
           }
       }
       numCount.put(num[i], count);
       num[i] = -1
       count = 0;
    }
      

  3.   

     public static void main(String[] args){
            Map<Integer, Integer> map=new HashMap<Integer, Integer>();
            int[] flight_num=new int[]{1,2,3,4,2,3,3,4,2,3,4,1,4};
            for(int i=0;i<flight_num.length;i++){
                if((map.get(flight_num[i]))==null){
                    map.put(flight_num[i], 1);
                }
                else{
                    int num=map.get(flight_num[i]);
                    map.put(flight_num[i], num+1);
                }
            }
            Iterator<Integer> it=map.keySet().iterator();
            while(it.hasNext()){
                int num=it.next();
                System.out.println(num+"次数"+map.get(num));
            }
        }
      

  4.   

    //将所有的ight_num连接成字符串
    String strs = "";
    while(rs.next){
      strs += rs.getString("flight_num");
    }int len = flight_num.length(); //获取一开始的字符串长度
    int len2 = 0; //取得替换后的字符串长度
    String num = "";//被替换的字符,即你flight_num中所有出现的数字
    for(int i = 0; i < len; i=0){
    num = flight_num.substring(0,1);//每次取得第一个,不会重复,因为后面都替换为“”了
    flight_num = flight_num.replace(num, "");//将和第一个相同的数字替换为空“”
    len2 = flight_num.length();//取得替换后的长度
    System.out.println(num+"出现的次数为:" + (len - len2));//减少的长度即num的出现次数
    len = len2;//将len2赋给len等待下次循环
    len2 = 0;//len2重置为0

    }LZ看看满意不?
      

  5.   


    //将所有的ight_num连接成字符串 
    String strs = ""; 
    while(rs.next){ 
      strs += rs.getString("flight_num"); 
    } int len = flight_num.length(); //获取一开始的字符串长度 
    int len2 = 0; //取得替换后的字符串长度 
    String num = "";//被替换的字符,即你flight_num中所有出现的数字 
    for(int i = 0; i < len; i=0){ 
       num = flight_num.substring(0,1);//每次取得第一个,不会重复,因为后面都替换为“”了 
       flight_num = flight_num.replace(num, "");//将和第一个相同的数字替换为空“” 
       len2 = flight_num.length();//取得替换后的长度 
       System.out.println(num+"出现的次数为:" + (len - len2));//减少的长度即num的出现次数 
       len = len2;//将len2赋给len等待下次循环 
       len2 = 0;//len2重置为0 } 
    格式调整一下,呵呵
      

  6.   

    比如,你得到这组数据的查询语句是:queqy_sql。
    select count(flight_num),flight_num
    from (queqy_sql) tb
    group by flight_num
      

  7.   

    9楼的你定义的Map里的k是Integer,存进去的是int的,这也能行???????
      

  8.   

    11楼的,不是最后一个,我意思是i大于len.length的时候,后面的就取不到了
      

  9.   

    哥,你看清楚了,我的for循环是这样的for(int i = 0; i < len; i=0){... }
    条件3不是 i++ , 一开始我也是i++,i++的确不对,但是i一直赋值为0是没问题的,我自己测试了才发给你的