我对此有点困惑。
乔恩·帕尼尼 (Jon Panini) 是一位世界杯贴纸收藏家。当他遇到他的同学时,他们通常会用他们的重复贴纸交换他们没有的那些。Jon 希望编写一个小程序,允许他输入他已经拥有的贴纸编号列表(您可以假设他以 - 1 结束输入),然后他将输入他朋友拥有的第二个贴纸编号列表(您可以假设列表由 -1 终止)程序应该显示 Jon 已经拥有哪些贴纸以及他没有哪些贴纸。
到目前为止我做了什么===>
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<Integer> john = new ArrayList<>();
ArrayList<Integer> friend = new ArrayList<>();
Scanner scan = new Scanner(System.in);
//12 7 327 7 12 34 23 79 -1
//7 90 56 7 12 0 14 14 -1
System.out.print("Enter Jon list of numbers(Enter -1 to terminate):");
int i;
do {
i=scan.nextInt();
if(i!=-1)
john.add(i);
}while(i!=-1);
System.out.print("Enter Jon's friend list of numbers(Enter -1 to terminate):");
do {
i=scan.nextInt();
if(i!=-1)
friend.add(i);
}while(i!=-1);
//List for duplicates of john and and his friend
ArrayList<Integer> johnD = new ArrayList<>();
ArrayList<Integer> friendD = new ArrayList<>();
for(int j=0;j<friend.size();j++){
for(int k=j;k<friend.size();k++){
if(friend.get(j)==friend.get(k) && j!=k) {
friendD.add(friend.get(j));
}
}
}
for(int j=0;j<john.size();j++){
for(int k=0;k<john.size();k++){
if(john.get(j)==john.get(k) && j!=k) {
johnD.add(john.get(j));
}
}
}
ArrayList<Integer> have = new ArrayList<>();
ArrayList<Integer> doNotHave = new ArrayList<>();
for(int j=0;j<friendD.size();j++){
for(int k=0;k<johnD.size();k++){
if(friendD.get(j)==johnD.get(k)) {
if(!have.contains(friendD.get(j)))
have.add(friendD.get(j));
}
if(friendD.get(j)!=johnD.get(k)) {
if(!doNotHave.contains(friendD.get(j))&& !johnD.contains(friend.get(j)))
doNotHave.add(friendD.get(j));
}
}
}
喵喵时光机
相关分类