我有一個任務可以創建一個保存聯繫人信息對象的數組列表。然後我必須詢問要搜索哪個字段以及要搜索的信息。我很難找出搜索部分。我試圖進入每個對象,並指定要搜索和找到匹配的變量。這是我必須創建的示例輸出。我的老師想要爲主要和DuEdAddressBook使用這種代碼結構。在Java中搜索匿名對象的數組列表以查找這些對象中的特定變量
這是我很難找到的地方。我想學習,但是當你陷入困境時,書中和在線的所有例子都沒有這種類型的場景,這讓人感到沮喪。感謝您的任何意見。
搜索方法: 接收的ArrayList作爲參數 輸出搜索菜單(參見實施例在底部) 利用一個開關和搜索的ArrayList指定字段。如果條目中找到或-1,如果沒有找到
返回索引號請輸入名字:尼克 請輸入姓氏:杜威 請輸入街道地址:3232朗裏奇路。 請輸入城市,州:德爾城,OK 請輸入郵編:73115
請輸入要搜索的字段:1 請輸入要搜索的值:尼克 名字:尼克 姓:杜威 街地址:3232 Longridge Rd。 城市,州:Del City,OK 郵編:73115
這是我的代碼到目前爲止。
import java.util.ArrayList;
import java.util.Scanner;
public class DurrieEdwardChapter10
{
public static void main(String[] args)
{
Scanner stdIn = new Scanner(System.in);
String a,b,c,d,e;
ArrayList<DuEdAddressBook> aBook = new ArrayList<DuEdAddressBook>();
for (int count = 0; count < 1; count++)
{
DuEdAddressBook entry = new DuEdAddressBook();
System.out.print("Please Enter First Name: ");
a = stdIn.nextLine();
System.out.print("Please Enter Last Name: ");
b = stdIn.nextLine();
System.out.print("Please Enter Street Address:");
c = stdIn.nextLine();
System.out.print("Please Enter City, State:");
d = stdIn.nextLine();
System.out.print("Please Enter Zip Code:");
e = stdIn.nextLine();
entry.addEntry(a,b,c,d,e);
aBook.add(count,entry);
}
int foundIndex = DuEdAddressBook.search(aBook);
System.out.println();
if (foundIndex > -1)
{
aBook.get(foundIndex).display();
}
else
{
System.out.println("No Entry Found");
}
}
}
import java.util.ArrayList;
import java.util.Scanner;
public class DuEdAddressBook
{
String first;
String last;
String street;
String state;
String zip;
public DuEdAddressBook()
{
}
public DuEdAddressBook(String a, String b, String c, String d, String e)
{
first = a;
last = b;
street = c;
state = d;
zip = e;
}
public void addEntry(String a,String b,String c,String d, String e)
{
first = a;
last = b;
street = c;
state = d;
zip = e;
}
public static int search(ArrayList<DuEdAddressBook> a)
{
Scanner stdIn = new Scanner(System.in);
String searchNum;
String searchValue;
System.out.print("Please Enter Field to Search:");
searchNum = stdIn.nextLine();
System.out.print("Please Enter Value to Search For:");
searchValue = stdIn.nextLine();
int n = 0; // index of search result
return n;
}
public void display()
{
System.out.println("First Name:" + first);
System.out.println("Last Name:" + last);
System.out.println("Street Address:" + street);
System.out.println("City,State:" + state);
System.out.println("Zip Code:" + zip);
}
}