今天java上机,老师出了一个题目,如下:
定义一个list1,存放教学科目"Java基础","Java Web","SSH",定义一个list2,存放学生名"小明","李丽",判断list1中是否包含list2元素。
最后的结果如下:
然后我就想如果list1中含有“小明”或者“李丽”这两个元素或者其中一个,应该怎么写。最后写出来的代码是这样的:
package Test5;
import java.util.ArrayList;
public class ListInterface {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList list1=new ArrayList();
list1.add("Java基础");
list1.add("Java Web");
list1.add("SSH");
ArrayList list2=new ArrayList();
list2.add("小明");
list2.add("李丽");
int m=0;
for(int j=0;j<list2.size();j++){
if(list1.contains(list2.get(j))){
System.out.println("list1中包含list2的元素是:"+list2.get(j)); //语句一
m++;
}
}
if(m==0){
System.out.println("list1不包含list2"); //语句二
}
}
}
我用了一个计数器,定义了一个m,这样当语句一中,满足条件,就会输出一个包含的元素,同时m+1,当两个元素都包含的时候,每个元素都输出一遍;如果没有包含的,那么m=0,这样就会执行语句二,输出不包含。
(list1中无包含元素)
(包含一个元素)
(两个都包含)