0

我有一个包含一百个字符串的数组。我希望能够使用用户给出的输入,通过方法参数传递它,搜索该确切的字符串,然后将其删除。我该怎么做呢?此外,我将如何做同样的事情但添加它?

4

5 回答 5

2

像这样的东西??

import java.util.Scanner;

public class StringSearch 
{
    public static void main(String[] args) 
    { 
        String[] nameArray = {"Stack", "Overflow"};
        String newName;
        int index;
        Scanner keyboard = new Scanner(System.in);
        System.out.print("\nPlease enter in a name: ");
        newName = keyboard.nextLine();
        index = nameSearch(nameArray, newName);
        if (index != -1) {
            System.out.print("\nFound the name " + newName );
        }
        else {
            System.out.print("\nCannot find specified name " + newName);
        }
    }


    public static int nameSearch(String[] names, String name)
    {
        for (int n = 0; n < names.length; n++) {
            if (names[n].equals(name)) {
                return n;
            }
        }
        return -1;
    }
}

如果你想实现删除,你可以从这样的数组中删除一些东西

List<String> list = new ArrayList<String>(Arrays.asList(array));
list.remove("thing to remove");
array = list.toArray(array);
于 2012-11-17T06:52:42.933 回答
0

使用 List 而不是数组会容易得多。

您可以像这样将数组转换为列表:

String[] stringArray = populateArray();
List<String> stringList = Arrays.asList(stringArray);

您可以像这样将 List 转换为数组:

String[] stringArray = stringList.toArray(new String[0]);
于 2012-11-17T07:02:03.207 回答
0

你可以做的是:

1)无论你在数组中有什么元素,只需将该数组转换为 List

2)一旦你得到清单,所有的事情对你来说都变得更容易了。

3) 只需使用 contains 方法来查找此列表是否包含指定元素。

4)并相应地使用列表的添加/删除方法。

于 2012-11-17T07:07:51.247 回答
0

将您的数组转换为String(char[] value)然后使用类似的东西public String replaceAll(String regex,String replacement)

于 2012-11-17T06:53:17.760 回答
0
String arrayvalues[] ={some set of strings};

public void methodToReplace(String st)    
{
String inputfromuser =st;

    for(int i=0;i<arrayvalues;i++)
    {
    if(inputfromuser.equals(arrayvalues[i]))
         arrayvalues[i] ="new values";

    }

}
于 2012-11-17T06:55:09.267 回答