我有一个任务可以创建一个保存联系人信息对象的数组列表。然后我必须询问要搜索哪个字段以及要搜索的信息。我很难找出搜索部分。我试图进入每个对象,并指定要搜索和找到匹配的变量。这是我必须创建的示例输出。我的老师想要为主要和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);
}
}