因此,我有9个比萨饼浇头的列表,这些比萨饼浇头已经按长度为15的数组进行了排序。其余6个空格用"zzz"
填充。
toppings =new String[] {"pepperoni","sausage","extracheese","peppers","onions","mushrooms","ham","ground beef","anchovies","zzz","zzz","zzz","zzz","zzz","zzz"};
我正在编写一个addTopping
方法,该方法将用实际的浇头替换zzz
中的一个。
public boolean addTopping(String top)
在使数组保持排序的同时,我无法添加此额外的顶部。请记住,我只是在高中计算机科学专业,所以请不要太提前。
答案 0 :(得分:0)
您需要创建一个用于调用元素索引的方法,以便在找到的第一个元素上添加,这是一个答案:
public void addTopping(String top) {
int index = indexOf(toppings, "zzz");
if (index != -1) {
toppings[index] = top;
}
}
public int indexOf(String[] elementData, String string) {
if (string == null) {
for (int i = 0; i < elementData.length; i++) {
if (elementData[i] == null) {
return i;
}
}
} else {
for (int i = 0; i < elementData.length; i++) {
if (string.equals(elementData[i])) {
return i;
}
}
}
return -1;
}
答案 1 :(得分:0)
尝试-
ArrayList<String> list = new ArrayList<String>();
list.add("pepperoni");
list.add("sausage");
list.add("extracheese");
list.add("peppers");
list.add("onions");
list.add("mushrooms");
list.add("ham");
list.add("ground beef");
list.add("anchovies");
list.add("zzz");
list.add("zzz");
list.add("zzz");
list.add("zzz");
list.add("zzz");
list.add("zzz");
String r="olive";
Collections.sort(list);
int s= list.size();
for( int i=0; i< s ; i++){
System.out.println(list.size());
if(list.get(i).compareTo(r) == 1){
list.add(i,r);
break;
}
}
for( int i=0; i< s ; i++){
if(list.get(i).equals("zzz")){
list.remove(i);
break;
}
}
for( int i=0; i< list.size() ; i++){
System.out.println(list.get(i));
}