试图打印一个数组

时间:2012-11-24 20:52:16

标签: java compiler-construction bluej

我需要一些java帮助,并从数组中返回结果。

我的数组列表存储来自餐厅的订单(由订单类创建)。 Deliverylog类(创建数组列表)然后有一个方法将订单添加到名为waitingList的数组列表中。

每个订单都有一个参考编号以及交货时间的详细信息等等。

尝试做什么,但还没有得到线索的是,创建一个带参数(int ref)的方法,该方法将在数组列表中搜索与输入的参考编号相同的项目。当它找到它时它返回顺序,否则它返回null。

任何帮助都是适当的。

代码

   /**
 * Show a order.
 * @param refnum The reference number of the order to be shown
 */
public void findOrderWaiting(int refnum)
  {
    if(refnum < 0) {
        // This is not a valid reference number
    }
    else if(refnum <= numberOfOrders()) {
        // This is a valid reference number
        System.out.println(waitingList.get(refnum));
    }
    else {
        // This is not a valid reference number
    }
  }

3 个答案:

答案 0 :(得分:1)

你知道arrayList有一个查找里面项目的方法:

   //a is an arraylist

  //filling the list here is omitted

   //o is the object to find its index
   int ind=a.indexOf(o);   

int indexOf(Object o)已经发明,因此您无需制作方法。如果你想将它用于学习目的,你可以从互联网上搜索散列技术,但你使用的是arrayList,最简单的是indexOf()方法。

HashTable更灵活,让您可以自由搜索项目或密钥(您可以提供密钥和获取项目,或者您提供项目并获取密钥)(密钥也可以是对象!)

答案 1 :(得分:0)

好吧,你可以使用标准for循环遍历数组:

for(int i=0; i<array.length; i++){
   if(array[i].intPart == ref) return array[i];
}
return null;

希望有所帮助!

答案 2 :(得分:0)

for(String s: restaurentOrders){
   if(s.equalsIgnoreCase()){
              //You have it..
   }
}

如果你将数组/ Arraylist存储在restaurentOrders中。希望它有所帮助