0

JAVA コマンド ライン メニューに問題があります。これが私が持っているものです..私がやりたいことはコメントにあります。

 private void listStudents(){
    out.println("\n\tStudent Listing");
    //Call datastore method that returns all student names as an array of strings
    String[] list = data.getStudents();
    //Display all names (use foreach statement)
    for (String name : list) {

    }
}

これも私がこだわっているデータストアの方法です...

 String[] getStudents() {
    return (String[]) students.toArray();
}

// Method to return students who match search term
String[] findStudents(String searchTerms) {
// Use foreach loop to visit each item in students ArrayList,
// and if the name matches the search term, add it to a new ArraList.
// Then return the new ArrayList as a string array (see getStudents)
}
4

2 に答える 2

2

これがまさにあなたが必要としているものであるかどうかはわかりませんが、あなたのコメントから私が理解したことに基づいて、以下を使用してみてください。

private void listStudents()
{
    System.out.println("\n\tStudent Listing");

    String[] list = data.getStudents();

    // List each student.
    for (String name : list)
        System.out.println(name);
}

private String[] findStudents(String searchTerms)
{
    List<String> studentsFound = new ArrayList<String>();

    for (String student : students)
    {
        // Determine if matching student found.
        if (student.equals(searchTerms))
            studentsFound.add(student);
    }

    return studentsFound.toArray(new String[0]);
}
于 2012-08-01T01:55:01.527 に答える
0

あなたは何ができるかを定義していsearchtermsません。正規表現ですか?ワイルドカードですか?

public String[] findStudents(String searchTerms) {
    List<String> findList = new ArrayList<String>(25);
    for (String student : students) {

        // Now you'll need to define how the match works,
        // Are you using a regexp or some kind of other matching
        // algorithm..
        boolean match = ...;
        if (match) {

            findList.add(student);

        }

    }

    return findList.toArray(new String[findList.size()]);
}
于 2012-08-01T01:46:44.187 に答える