0

100個の文字列で満たされた配列があります。ユーザーからの入力を使用して、メソッドパラメーターに渡し、正確な文字列を検索して削除できるようにしたいと思います。どうすればこれを行うことができますか?さらに、同じことをどのように行いますが、代わりに追加しますか?

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;
    }
}

removeを実装する場合は、次のような配列から何かを削除できます。

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

配列を変換して、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 に答える
0

配列の代わりにリストを使用する方がはるかに簡単です。

次のように、配列をリストに変換できます。

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

リストを次のような配列に変換できます。

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

あなたができることは:

1)配列にある要素が何であれ、その配列をリストに変換するだけです

2)リストを取得すると、すべてが簡単になります。

3)contains methosを使用して、このリストに指定された要素が含まれているかどうかを確認します。

4)それに応じて、リストの追加/削除メソッドを使用します。

于 2012-11-17T07:07:51.247 に答える