从代码中删除项目的Java代码

时间:2014-11-26 01:20:02

标签: java arrays parallel-processing

这是我目前的代码,我在删除姓名以及名称中包含的网络和总信息方面遇到了麻烦。任何帮助将不胜感激

public static int removeName(String[] nameArray,
        int[] grossArray, int[] netArray, int counter) {
    Scanner keyboard = new Scanner(System.in);
    String name;
    int nameSearch;

    System.out.println("Please enter the name you would like to remove.");

    name = keyboard.nextLine();
    nameSearch = searchArray(nameArray, name);

    if (nameSearch != -1) {
        nameArray[nameSearch] = name;

        counter--;
    } else {
        System.out.println("That name is not on the list");
    }
    return counter;
}

代码运行并且没有错误。当代码运行时,它只是编辑我键入的名称,具体取决于我使用的大小写格式(大写/小写)。我需要此代码来删除名称和与之关联的信息。删除时我还需要列表向上移动,所以如果我删除Bob例如并且Jen在下面,那么Bob Jen会删除Bob,因为他被删除了。我不允许使用数组列表。

1 个答案:

答案 0 :(得分:0)

if (nameSearch != -1) {
    nameArray[nameSearch] = name;

    counter--;
} else {
    System.out.println("That name is not on the list");
}
return counter;

为什么要将nameArray [nameSearch]设置为name?你不想删除nameArray [nameSearch]中的内容吗?

如果你想做什么,你可以暂时将nameArray转换为ArrayList并删除nameSearch索引处的内容。像这样:

List<String> nameArrayList = new ArrayList<String>(Arrays.asList(nameArray));
nameArrayList.remove(nameSearch);
nameArray = nameArrayList.toArray();

如果你这样做,你可以考虑在整个函数中将nameArray保持为arrayList。