我正在 Build 一个学校项目的搜索,我整天都被困在这里 . 我已经尝试了所有我能想到的东西 . 我必须在某个地方遗漏一些简单的东西,不知道在这一点上是什么 .
我在第56行的线程"main" java.lang.NullPointerException中获得了Exception,这是FOR循环中的第一个IF . 只有在搜索找不到任何内容时才会发生这种情况 . 其他一切似乎都很好 .
提前感谢任何给予此人的人 .
else if ( menuSelect == 3)
{
do
{
Display.search(fullLine);
continueSearch = 1;
search = input.nextLine();
if (search.length() == 10 && search.matches(regex))
{
search = search.replaceFirst("(\\d{3})(\\d{3})(\\d+)", "($1) $2-$3"); // format phone number
} // end IF search match regex (phone format)
for (int index = 0; index < MAX && continueSearch == 1; index++)
{
if (leadArray[index].getName().equalsIgnoreCase(search)
|| leadArray[index].getAddress().equalsIgnoreCase(search)
|| leadArray[index].getPhone().equalsIgnoreCase(search)
|| leadArray[index].getEmail().equalsIgnoreCase(search))
{
Pages.viewLead(listSize, noteListSize, index, noteArray, leadArray);
menuSelect = 0;
continueSearch = 0;
} // end IF search matches data params
else if (leadArray[index].getName().contains(search)
|| leadArray[index].getAddress().contains(search)
|| leadArray[index].getPhone().contains(search)
|| leadArray[index].getEmail().contains(search))
{
Pages.searchAllLeads(listSize, noteListSize, search, noteArray, leadArray);
menuSelect = 0;
continueSearch = 0;
} // end IF search contains data params
else if (search.equals("00"))
{
continueSearch = 0;
Pages.mainMenu(listSize, noteListSize, noteArray, leadArray);
} // end IF exit search 00
} // end FOR array Loop
System.out.println("\nYour search returned (0) results.\n");
} while (!"00".equals(search) ); // end search loop
Pages.mainMenu(listSize, noteListSize, noteArray, leadArray);
} // end IF menuSelect 3 (search)
1 回答
FOR循环使用MAX常量而不是listSize变量 . 没有完整的代码,没有人能够知道 . 我还更新为boolean for continueSearch(感谢@Ken Y-N) .