问题:找出两个已排序数组中的相同元素;
代码:
public static void main(String[] args) { /* 1.定义两个随机数组 2.遍历两个数组进行比较,找出相同元素 2.输出相同元素的下标,数值,总数 */ Random r = new Random(100); int a[] = new int[9]; int b[] = new int[10]; for (int i = 0; i <a.length ; i++) { a[i] = r.nextInt(100); } System.out.println(Arrays.toString(a)); for (int i = 0; i <b.length ; i++) { b[i] = r.nextInt(100); } System.out.println(Arrays.toString(b)); int i = 0; int j = 0; //因a,b长度未知,故分为三种情况: //a,b都未遍历完时 //a遍历完,b未遍历完 //b遍历完,a未遍历完 //故,需先判断出a,b长短; //判断长短: int c[] = a;//短 int d[] = b;//长 int min = a.length; int max = b.length; int count =0; if(a.length>b.length){ min= b.length; c = b; max = a.length; d = a; } //遍历比较 for (int k = 0; k <min ; k++) { for (int l = 0; l <max ; l++) { if(c[k]==d[l]){ System.out.println(k+":"+c[k]); System.out.println(l+":"+d[l]); count++; } } } System.out.println("相同的个数"+count); }