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