第1个回答 2010-09-25
虽然不可以定义成员变量,但是方法中可以带入一个参数,利用带入的参数可以写
import java.util.ArrayList;
public class Digui {
public ArrayList<String> doubleElement(ArrayList<String> list,int size){
String str=list.get(size);
list.add(str);
size--;
if(size<0){
return list;
}else{
return doubleElement(list,size);
}
}
public ArrayList<String> removeShorterOfPairs(ArrayList<String> list,int size){
String str1=list.get(size);
String str2=list.get(size-1);
if(str1.length()<str2.length()){
list.remove(size);
}else{
list.remove(size-1);
}
size=size-2;
if(size>=1){
return removeShorterOfPairs(list,size);
}else{
return list;
}
}
public static void main(String[] args) {
Digui d=new Digui();
ArrayList<String> list=new ArrayList<String>();
list.add("good");
list.add("hello");
list.add("hi");
list.add("nice");
System.out.println(d.doubleElement(list, list.size()-1));
System.out.println(d.removeShorterOfPairs(list, list.size()-1));
}
}
第2个回答 2010-09-25
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Test {
public static void main(String[] args) throws Exception {
List<String> list = new ArrayList<String>();
list.add("good");
list.add("hello");
list.add("hi");
list = doubleElements(list);
System.out.println(list);
}
public static List<String> doubleElements(List<String> arraylist){
if(arraylist!=null&&arraylist.isEmpty())
return null;
String l1 = arraylist.get(0);
String l2 = arraylist.get(1);
if(!l1.equals(l2)){
arraylist.remove(0);
arraylist.add(l1);
arraylist.add(l1);
doubleElements(arraylist);
}
return arraylist;
}
}
我帮你写一个 你看看吧 不可以写外部参数的话 其实还可以把方法头改成
doubleElements(Arraylist<string> arraylist,int i)本回答被提问者采纳