java - 如何返回一维数组?

标签 java arrays

我正在一个类实验室工作,并且让 bwcomw 停留在我们必须编写的一种方法上:

Member[] getMembersByYear(int firstYear, int last year) – locates and returns all members who joined between the two specified years, inclusive. This method returns the members in a Java one-dimensional array. There must be no empty slots in the array.

我对如何处理这件事感到有点困惑,我将不胜感激任何建议。这是我到目前为止所写的内容:

public class Club
{
// Define any necessary fields here ...
private ArrayList <Member> members;

/**
 * Constructor for objects of class Club
 */
public Club()
{
    // Initialise any fields here ...
    members = new ArrayList <Member>();
}

/**
 * Add a new member to the club's list of members.
 * @param member The member object to be added.
 */
public void join(Member member)
{
    members.add(member);
}

/**
 * @return The number of members (Member objects) in
 *         the club.
 */
public int numberOfMembers()
{
    if(members.size() > 0){
        return members.size(); 
    }
    else{
    return 0;
}
}

public void showMembers(){
    for(Member display: members){
        System.out.println(display.toString());

    }
}

public void showMembersByYear(int year){
    for(Member byYear: members){
         if(byYear.getYear() > 0){
             showMembers();
            }

    }
}

public Member[] getMembersByYear(int firstYear, int lastYear)
{
    Member checker = new Member();                                        //does not work, no constructor member() exists
    while((firstYear <= checker.getYear()) && (lastYear >= checker.getYear())){

    }


}

public void removeMembersByYear(int year){
    Iterator it = members.iterator();



}
}

最佳答案

好的。很高兴看到你试过了!首先,您可以在您的方法中创建一个ArrayList。然后是遍历您的 members 数组,当年份落在给定范围内时,您应该将其添加到新的 ArrayList。然后,简单地返回 ArrayList.toArray 方法。像这样的东西:

 public Member[] getMembersInYear(int firstYear, int secondYear)
 {
     ArrayList<Member> membersInRange = new ArrayList<Member>();
     for(every member in members) {
         if(is in year) {
             membersInRange.add(currentMember);
         }
     }
     return membersInRange.toArray();
 }

这将返回一个没有空值的数组,其中仅包含年份介于 firstYearsecondYear 之间的成员。

关于java - 如何返回一维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16130312/

相关文章:

Java 分解失败 - 为什么会循环?

java - 防止广告在后台展示 (Android Studio)

arrays - Scala中2D数组的深拷贝?

java - 在 Eclipse 中搜索非最终静态变量

Java:无法将 ArrayList<Long> 写入文本文件

Java clone() 和 equals() 检查

c++ - 这两个类型测试对象动态数组声明之间的区别?

c++ - 是否有任何类似数组的数据结构可以在两侧增长?

c# - 遍历数组并找到部分字符串

javascript - 具有多种类型的内联解析数组