题目描述
输入两个数组(数组元素个数6和8),输出在两个数组中都出现的元素(如a[6]={2,3,4,5,6,7},b[8]={3,5,7,9,11,13,15,19},则输出3、5、7)。
输入描述
输出共2行,第1行6个整数,第2行8个整数,所有整数不超过int范围
输出描述
每行一个共同元素,升序输出
样例输入
2 3 4 5 6 7
3 5 7 9 11 13 15 19
样例输出
3
5
7
提示
注意,一定是升序输出。输入不一定是有顺序的。务必注意
源码:
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int []a = new int [6];
int []b = new int [8];
ArrayList<Integer> list= new ArrayList<>();//用于存放输出的数组
//数组的输入
for(int i=0;i<6;i++) {
a[i]=scanner.nextInt();
}
for(int i=0;i<8;i++) {
b[i]=scanner.nextInt();
}
//双层循环找出结果集
for(int i=0;i<6;i++) {
for(int j=0;j<8;j++) {
if (a[i]==b[j]) {
list.add(a[i]);
}
}
}
//手动排序
for(int i=0;i<list.size();i++) {
for(int j =0;j<list.size();j++) {
if (list.get(i)<list.get(j)) {
int n=list.get(i);//大的值
int m=list.get(j);//小的值
list.set(i, m);
list.set(j, n);
}
}
}
//输出结果
for(int i=0;i<list.size();i++) {
System.out.println(list.get(i));
}
}
}
知识点:
在本题中运用了arraylist数组,在设计升序排序的时候,采用了arraylist中的set方法进行元素的替换。