2016-04-27 12 views
0

私はjavaを初めて使用しており、顧客データベースプログラムを作成しようとしています。 firstNameが異なるlastName(およびその逆)のあるCustomersがあります。ユーザーがCustomerと一致するCustomerと一致するとlastNameと一致するユーザーがを入力した場合、どのユーザーに一致するユーザーリストを表示したらよいですか?Customerを使用するかどうかを選択するよう求められます。ユーザの入力と一致する配列リスト要素から選択してください

ここで私が持っているコードは、これまでです:

private Customer searchCustomer(String search) { 
Customer customer = null; 
for (Customer cust : mockCustomerDatabase) { 
    if (cust.getLastName().toLowerCase().indexOf(search.toLowerCase()) > -1) 
    return cust; 
    } 
} 
return customer; 
} 

顧客データベース:

private void createMockData() { 
Customer cust = new Customer("Brain", "Holtz", "[email protected]"); 
mockCustomerDatabase.add(cust); 
cust = new Customer("Bruce", "Bagley", "[email protected]"); 
mockCustomerDatabase.add(cust); 
cust = new Customer("Courtney", "Lee", "[email protected]"); 
mockCustomerDatabase.add(cust); 
cust = new Customer("Jacob", "Graf", "[email protected]"); 
mockCustomerDatabase.add(cust); 
cust = new Customer("Jacob", "Brown", "[email protected]"); 
mockCustomerDatabase.add(cust); 
cust = new Customer("Kevin", "Brown", "[email protected]"); 
mockCustomerDatabase.add(cust); 

顧客クラス:

public class Customer { 
public String firstName; 
public String lastName; 
public String email; 
public Customer(String firstName, String lastName, String email) { 
this.firstName = firstName; 
this.lastName = lastName; 
this.email = email; 
} 

public Customer() { 
} 

//Getter's and Setter's 
@Override 
public String toString() { 
return "Customer [firstName=" + firstName + ", lastName=" + lastName  + ",email=" + email + "]"; 
} 

} 
+0

まず、searchCustomerメソッドをCustomerオブジェクトのListを返すようにする必要があります。あなたはすでに顧客のメインリストをループしているので、ほとんどのロジックが完了しています。 – Austin

+0

@オースティン:私は物事を考え出した。ありがとうございました – RedHawk87

答えて

1

利用ラムダ式:

public Customer findPersonByName(final String name) { 
    return mockCustomerDatabase.stream().filter(p -> p.getName().equals(name)).findAny(); 
} 
関連する問題