import java.util.*;
public class TestArrayList{
public static void main(Stringl args){
ArrayList al = new ArrayList();
al.add("java");
al.add("C++");
al.add("C#");
print("the first a1="+al);
al = function(al);
print("the second a1="+al);
}
public static Arraylist function Arrayist x){
Iterator it = x.iterator();
ArrayList al2 = new ArrayList():
al2.add("python");
al2.add("C#");
while(it.hasNext()) {
Object element = it.next();
if(!(al2.contains(element))){
al2.add(element);
}
}
return al2;
}
public static void print(Object obj){
System.outprintln(obj);
}
}
程序运行的结果:
(1)_______
(2)_________
抱歉,你的代码有一些语法错误。具体来说,在定义 '方法时,在Stringl后应该有一个变量名,例如String[] args。在 '函数function方法定义中,应该将Arrayist改为 'ArrayListArrayList,并且在方法名后应该有一个参数类型,例如function(ArrayList x)。在 'printprint方法中,应该将 'System.outprintlnSystem.outprintln改为System.out.println。
修改后的代码应该是这样的:
import java.util.*;
public class TestArrayList {
public static void main(String[] args) {
ArrayList al = new ArrayList();
al.add("java");
al.add("C++");
al.add("C#");
print("the first a1=" + al);
al = function(al);
print("the second a1=" + al);
}
public static ArrayList function(ArrayList x) {
Iterator it = x.iterator();
ArrayList al2 = new ArrayList();
al2.add("python");
al2.add("C#");
while (it.hasNext()) {
Object element = it.next();
if (!(al2.contains(element))) {
al2.add(element);
}
}
return al2;
}
public static void print(Object obj) {
System.out.println(obj);
}
}
如果按照这样修改之后,这个程序将会输出两行文本:
the first a1=[java, C++, C#]
the second a1=[python, C#, java, C++]
第一行输出结果是刚刚创建的 '对象中的内容,第二行输出结果是调用 'functionfunction方法后返回的新的ArrayList对象中的内容。
谢谢