Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 搜索对象数组和索引位置_Java_Arrays_Object_Search_Indexing - Fatal编程技术网

Java 搜索对象数组和索引位置

Java 搜索对象数组和索引位置,java,arrays,object,search,indexing,Java,Arrays,Object,Search,Indexing,解决了原来的问题。有人知道如何检索我想要的对象及其索引位置吗?保存要在主目录中使用的索引位置 //========================================================================================== //SEARCH FOR USER public User find(String searchName) { int j; for(j=0; j<nElems;

解决了原来的问题。有人知道如何检索我想要的对象及其索引位置吗?保存要在主目录中使用的索引位置

//==========================================================================================
                 //SEARCH FOR USER
public User find(String searchName)     
{
  int j;
  for(j=0; j<nElems; j++)           
     if(a[j].getLast().equals(searchName))      
        break;                  
  if(j==nElems)             
     return null;               
  else
     return a[j];               
} // end find
//===========================================================================================

  public static void main(String[] args){
  int maxSize = 100;            
  ClassDataArray arr;           
  arr = new ClassDataArray(maxSize);    

  arr.insert("Evans", "Patty", 24);         
  arr.insert("Smith", "Tom", 59);
  arr.insert("Smith", "Lorraine", 37);

  arr.find("");
 }
//==========================================================================================
//搜索用户
公共用户查找(字符串搜索名称)
{
int j;

对于(j=0;j您的问题是
nElems
设置为
0
,而不是
max

更改:

nElems = 0;  
致:


您将nElems设置为0
nElems=0;
但以后没有更改。因此,j永远不会小于nElems。

nElems
始终为零,这就是为什么
j==nElems
为真并返回
null
特别是,我们需要查看用于填充数组的代码。您可以了解OP数组i中的每个元素可能是因为OP使用的是“动态”数组。这是我能看到的唯一解释,
nElems
max
@ElliottFrisch被分开跟踪的原因。他没有向我们展示数组填充的代码。老实说,缺乏这种方法使得这个问题无法回答。但我不是那个否决你答案的人……但他没有说他得到了答案一个
NullPointerException
,他说它没有返回任何东西,这就是为什么你的答案不可能是他的问题。@ElliottFrisch如果他在填充数组的方法中适当地检查
null
,则很可能不需要检查
null
nElems = max;