| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3257 人关注过本帖
标题:比较两个数组中相同元素个数的问题
只看楼主 加入收藏
wenkai0427
Rank: 1
等 级:新手上路
帖 子:27
专家分:8
注 册:2009-4-20
结帖率:100%
收藏
 问题点数:0 回复次数:6 
比较两个数组中相同元素个数的问题
两个长度相同的数组a[4]、b[4],怎样比较其中相同元素的个数,返回这个个数。下面这种方法不知道对不对,我总调试不好,请各位指教:
public int GetNum(int a[],int b[]){
      num = 0;
      for(i=0;i<5;i++){
          if(a[i]==b[i]){
             num++;
          }
      }
      return num;
}

[ 本帖最后由 wenkai0427 于 2010-4-1 16:54 编辑 ]
搜索更多相关主题的帖子: 元素 
2010-04-01 16:53
qixin778899
Rank: 1
等 级:新手上路
威 望:2
帖 子:13
专家分:7
注 册:2010-3-28
收藏
得分:0 
程序代码:
    public int GetNum(int a[],int b[]){
        int num = 0; 
        for(int i=0 ; i<a.length;i++){
            for(int j=0;j<b.length;j++){
                if(a[i]==b[j]){
                    num++ ;
                }
            }
        }
          return num;
    } 
不对 需要两重循环 你这个只是比较相同下标的俩元素是否相等
2010-04-01 17:03
lixiaolou
Rank: 1
等 级:新手上路
帖 子:14
专家分:6
注 册:2010-3-29
收藏
得分:0 
public int GetNum(int a[],int b[]){
      num = 0;
      for(i=0;i<5;i++)
    { for(int j=0;j<=i;j++)
    {

      if(a[i]=b[j])}
num++;

     }
return num:
}
2010-04-01 18:41
elan1986
Rank: 6Rank: 6
等 级:贵宾
威 望:18
帖 子:458
专家分:407
注 册:2007-12-17
收藏
得分:0 
现在又一个问题是

如果A B 两个数组

A数组1 2 3 4 1 6
B数组2 4 8 9 2 7

A数组本身就有重复的,怎么办呢?

思路:先排除数组本身的相同元素个数,然后再比较!
2010-04-02 14:50
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
收藏
得分:0 
以下是引用elan1986在2010-4-2 14:50:17的发言:

现在又一个问题是
 
如果A B 两个数组
 
A数组1 2 3 4 1 6
B数组2 4 8 9 2 7
 
A数组本身就有重复的,怎么办呢?
 
思路:先排除数组本身的相同元素个数,然后再比较!
用TreeSet

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2010-04-02 15:22
dadongzicool
Rank: 6Rank: 6
等 级:贵宾
威 望:11
帖 子:209
专家分:474
注 册:2009-3-20
收藏
得分:0 
package cn.dadongzicool.string;

import java.util.Iterator;
import java.util.Scanner;
import java.util.TreeSet;

public class TestString {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        TreeSet<Array> a = new TreeSet<Array>();
        TreeSet<Array> b = new TreeSet<Array>();
        
        Scanner reader = new Scanner(System.in);
        
        Array array;
        int a_num,b_num,sum = 0;
        
        System.out.println("请输入数组a的元素个数");
        a_num = reader.nextInt();
        System.out.println("请输入数组a的元素");
        for(int i = 0;i < a_num;i++){
            array = new Array(reader.nextInt());
            a.add(array);
        }
        
        System.out.println("请输入数组b的元素个数");
        b_num = reader.nextInt();
        System.out.println("请输入数组b的元素");
        for(int i = 0;i < b_num;i++){
            array = new Array(reader.nextInt());
            b.add(array);
        }
        
        Iterator<Array> a_array = a.iterator();
               
        while(a_array.hasNext()){
            Array array_a = a_array.next();
            Iterator<Array> b_array = b.iterator();
            while(b_array.hasNext()){
                Array array_b = b_array.next();
                if(array_a.num == array_b.num){
                    sum++;
                }
               
            }
        }
        
        System.out.println(sum);

    }

}
*******************************************************************************
package cn.dadongzicool.string;

public class Array implements Comparable{
   
    int num = 0;
   
    Array(int num){
        this.num = num;
    }

    public int compareTo(Object b) {
        // TODO Auto-generated method stub
        Array array = (Array)b;
        return this.num - array.num;
    }
   

}

本人出售软件专业毕业设计(包括论文,代码)题目众多,价格从优联系方式:QQ
1635008514(寻找高校代理)
2010-04-02 17:16
baifenghan
Rank: 8Rank: 8
等 级:贵宾
威 望:10
帖 子:258
专家分:952
注 册:2006-3-17
收藏
得分:0 
不错,用set是一个好思路,什么set无所谓,只是比较不同,与顺序无关,hashset效率更高一点。
2010-04-02 20:53
快速回复:比较两个数组中相同元素个数的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018640 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved