知道名字后如何在列表数组中找到电话号码?

时间:2017-06-03 23:14:21

标签: java

我需要编写一个代码,在给出名称时从数组列表中查找电话号码。这是我目前拥有的:

public class Person {

    private String name;
    private String number;

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

    public String getName() {
        return this.name;
    }    

    public String getNumber() {
        return this.number;
    }


    public String toString() {
        return "" + getName()+ "  number: " + getNumber();
    }    
}

以下是电话号码列表:

import java.util.ArrayList;

public class Numbers {
    private ArrayList<Person> memo;

    public Numbers() {
        this.memo = new ArrayList<>();
    }

    public void addnew(String name, String number) {
        Person newperson = new Person (name, number);
        this.memo.add(newperson);      
    }
}

1 个答案:

答案 0 :(得分:0)

使用此方法

public String FindNumber(String UserName){
   for(Person p : [ArrayList<Person>]) {
      if (UserName.equals( p.getName())){
         return p.getNumber();
      }
   }
   return "NaN";
}

此对象[ArrayList<Person>]必须是列表的引用

在你的情况下:

您需要修复构建器

public Numbers() {
    this.memo = new ArrayList<Person>();
}

您的功能将是

public String FindNumber(String UserName){
   for(Person p : this.memo ) {
      if (UserName.equals( p.getName())){
         return p.getNumber();
      }
   }
   return "NaN";
}