完成了一半的arraylist代码

时间:2013-04-24 07:44:03

标签: java

我明天正在参加期末考试,所以我正在练习一些问题。但我被困在这个问题上。我得到一个人类档案和一半完成的quiz10文件,我必须填写。测验10代码是中途完成(给定的)。

我需要实现一个函数findPersonWhoseNameStartWith,它返回列表中以A开头的人的名字。但我不知道如何。

想要输出:

结果:四月,亚当

public class Person{
    private int age;
    private String name;

    public Person(String name,int age){
        this.name=name;
        this.age=age;
    }

    public int getAge(){
        return age;
    }

    public String getName(){
        return name;
    }

    public String toString(){
        return "" + name;
    }
}

一半给定代码(我已说明我尝试了哪一部分):

import java.util.*;

public class Quiz10{
    public static void main(String[] args){
    ArrayList<Person>list=new ArrayList<Person>();
    list.add(new Person("April",9));
    list.add(new Person("Adam",3));
    list.add(new Person("bil",9));
    list.add(new Person("cpril",9));
    list.add(new Person("dpril",9));

    ArrayList<Person>result=findPersonWhoseNameStartWith(list,"A");
    System.out.println("result:");


//START DOING FROM HERE

    for(int i=0;i<list.size();i++){
        Person p=list.get(i);

        if(p.findPersonWhoseNameStartWith("A");
    }

}

3 个答案:

答案 0 :(得分:1)

你走在正确的轨道上。你是对的,你必须遍历列表。现在为每个条目输出它,如果它以'A'开头。它非常简单,单一的if语句比你想象的更容易。

答案 1 :(得分:0)

// pass your personList and the prefix, return a list of person starting with the prefix you specified
private List<Person> findPersonWhoseNameStartWith(List<Person> personList, String prefix) {
      // create a list to store your result
      List<Person> matchedList = new ArrayList<Person>();

      // TODO iterate personList
      // add them to the matchedList if the prefix matches

      return matchedList;
}

答案 2 :(得分:0)

public List<Person> findAPersonWhoStartsWith(List<Person> persons, String aLetter){
    List<String> personsNames = new ArrayList<String>();

    if(persons!=null && aLetter!=null && !aLetter.isEmpty()){
        for(Person aPerson:persons){
            if(aPerson.getName().startsWith(aLetter)){
                personsNames.add(aPerson);
            }
        }
    }
    return personsNames;
}