从字符串数组中显示一个项目,并使用Math.Random排除一个项目



如何使用Math显示Array列表中的一个项目?随机,同时排除项目,发现等于?这段代码搜索链表数组来查找它是否匹配字符串数组中的任何项,如果匹配,它将打印字符串数组中一个不在链表中的随机元素。

public static void pagesYouMayLike(LinkedList[] likes, int index, String [] likeArray){
  for(int i=0; i<likes[index].size(); i++){
     for(int j=0; j<5; j++ ){
        if(likes[index].listIterator(i).next().equals(likeArray[j])){
           int idx = new Random().nextInt(likeArray.length);
           System.out.println(likeArray[idx]);
        }//if
     }//for
   }//for
 }//pages you may like

试着这样做:

 if(likes[index].listIterator(i).next().equals(likeArray[j])){
       int idx = new Random().nextInt(likeArray.length);
       for(int i =0; i< likes.size(); i++){ //traverse through the linked list array
             if(likeArray[idx] != likes[i]){  // and check to see if this is a unique string.
                 System.out.println(likeArray[idx]);
                 break;
             }else{
                 idx = new Random().nextInt(likeArray.length); //pick another random string
             }
       }
    }//if

将选择的随机字符串与链表数组进行比较,看它是否唯一。如果是,它应该打印出来并跳出循环。你可能需要在for循环中使用迭代器,但我希望你能理解。

不用担心迭代器,使用for-each循环会容易得多:

for(String s : likes) {
    if (Arrays.asList(likeArray).contains(s)) {
        int index = (new Random()).nextInt(likeArray.length);
        System.out.println(likeArray[index]);
    }
}

如果您想只显示一个随机值,只需在找到随机值后在循环中插入一个断点

相关内容

  • 没有找到相关文章