我一直在研究如何为我正在编写的菜单(面向对象)程序编写删除方法。该菜单为用户提供了删除程序中输入的姓氏的选项。我完全坚持这一部分!如果你们/ gals能给我一个简单的删除方法,我将不胜感激! 非常感谢!
这是我目前为止添加名称的代码:
public static int addOne(String theArray[], int location, String theName, int noofvalues)
{
int step;
if(noofvalues == 0)
{
theArray[0] = theName;
noofvalues++;
}
else
{
for(step = noofvalues - 1; step >= location; step--)
{
theArray[step + 1] = theArray[step];
}
theArray[location] = theName;
noofvalues++;
}
return noofvalues;
}
答案 0 :(得分:1)
因为它看起来像是家庭作业,所以我根本不会提供任何代码 (否则,我会解决作业并且你不会学到任何东西),只有想法可能这样做的算法。
lastInsertedName
。String
。当您在数组中找到lastInsertedName
时,将索引存储在变量中,让我们说indexFound
并停止循环。indexFound
大于或等于0:
indexFound
开始的所有元素移回一个位置。答案 1 :(得分:0)
使用清单:
public static int addOne(List names, int location, String theName, int noofvalues)
{
names.add(location, theName);
return names.size();
}
public static void deleteOne(List names, int location){
names.remove(location);
}
答案 2 :(得分:-1)
使用此方法从数组中删除项目:
public static String[] removeOne(String[] array, String var){
if (array==null){
return new String[]{};
}
String[] array2 = new String[array.length-1];
boolean removed = false;
for (int i=0;i<array.length;i++){
if (!array[i].equals(var)){
if (i==array.length-1 && !removed){
return array;
}
if (removed){
array2[i-1] = array[i];
}else{
array2[i] = array[i];
}
}else{
removed = true;
}
}
return array2;
}