【问题标题】:Searching object arrays and index positions搜索对象数组和索引位置
【发布时间】:2014-07-26 20:36:35
【问题描述】:

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

//==========================================================================================
                 //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("");
 }

【问题讨论】:

标签: java arrays object search indexing


【解决方案1】:

您的问题是nElems 设置为0,而不是max。

变化:

nElems = 0;  

到:

nElems = max;

【讨论】:

  • 你意识到 OP 数组中的每个元素都是空的吧?大概是因为 OP 使用的是“动态”数组。这是我能看到的关于 nElems 与 max 分开跟踪的唯一解释。
  • @ElliottFrisch 他没有向我们展示填充数组的代码。老实说,缺乏这种方法使这个问题无法回答。但我不是拒绝你答案的人......但他没有说他得到了NullPointerException,他说它没有返回任何东西,这就是为什么你的答案不太可能是他的问题。
  • @ElliottFrisch 如果他在填充数组的方法中适当地检查null,则很有可能不需要检查null。
【解决方案2】:

您将 nElems 设置为 0 nElems = 0; 但是` 但后来没有更改它。所以 j 永远不会小于 nElems。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-20
    相关资源
    最近更新 更多