0
我有我的工作程序,創建一個地址數組,然後搜索它們。錯誤搜索arraylist
但我的搜索只看第二個條目(在索引1)如何讓我的搜索查看所有條目而不是第二條?
隨意問我是否沒有發佈足夠的細節!
public static void main(String[] args) //start method main
{
ArrayList<SJAddressBook> SJ = new ArrayList<SJAddressBook>();
SJAddressBook aBook = null;
for (int count =0;count <3;count ++)
{
aBook = new SJAddressBook();
SJ.add(aBook.addEntry());
System.out.println();
}
int foundIndex = aBook.search(SJ); //execute search
System.out.println();
if (foundIndex > -1)
SJ.get(foundIndex).display();
else
System.out.println("No Entry Found!");
而且我的搜索
int search(List<SJAddressBook> addressBook)
{
Scanner entry = new Scanner(System.in);
System.out.println(" Search Menu;\n 1. First Name \n 2. Last Name \n 3. Street Address \n 4. City, State \n 5. Zip Code ");
System.out.println();
System.out.print("Please enter Field to Search: ");
String menu = entry.next();
System.out.println();
System.out.print("Please enter Value to Search: ");
String value = entry.next();
int index = 0;
for (SJAddressBook address : addressBook) //recieve ArrayList as argument
{
switch (index) //intitialze switch
{
case 1:
if (address.getFirstName().equalsIgnoreCase(value))
return index;
break;
case 2:
if (address.getLastName().equalsIgnoreCase(value))
return index;
break;
case 3:
if (address.getStreetAddress().equalsIgnoreCase(value))
return index;
break;
case 4:
if (address.getCityState().equalsIgnoreCase(value))
return index;
break;
case 5:
if (address.getZipCode().equalsIgnoreCase(value))
return index;
break;
} //end switch
index++;
}
return -1;
}
交換機是一個你可以只檢查領域的簡化代碼所以我必須添加它的要求。 – user3313912
根據您的要求編輯 –
非常感謝! – user3313912