java编程题

为丰富同学们的业余文化生活,某高校学生会创办了3个兴趣小组
(以下称A组,B组,C组)。
每个小组的学生名单分别在【A.txt】,【B.txt】和【C.txt】中。
每个文件中存储的是学生的学号。

由于工作需要,我们现在想知道:
既参加了A组,又参加了B组,但是没有参加C组的同学一共有多少人?

请你统计该数字并通过浏览器提交答案。

注意:答案是一个整数,不要提交任何多余的内容。

第1个回答  2017-12-22
import java.util.*;
import java.io.*;
class Main{
    public static void main(String[] args) throws Exception{
        String[] ts={"A.txt","B.txt","C.txt"};
        Scanner[] ss=new Scanner[ts.length];
        for(int i=0;i<ts.length;i++){
            ss[i] = new Scanner(new File(ts[i]));    
        }
        ArrayList<String> list1=new ArrayList<String>();
        while(ss[0].hasNext()){
            list1.add(ss[0].next());
        }
        ArrayList<String> list2=new ArrayList<String>();
        while(ss[1].hasNext()){
            String n=ss[1].next();
            if(list1.contains(n)){
                list2.add(n);
            }
        }
        while(ss[2].hasNext()){
            String n=ss[2].next();
            if(list2.contains(n)){
                list2.remove(n);
            }
        }
        for(int i=0;i<ss.length;i++){
            ss[i].close();
        }
        System.out.println(list2.size());
    }
}

追问

结果是多少

本回答被提问者和网友采纳