第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Java 中使用 scheduleAtFixedRate 遍歷列表

在 Java 中使用 scheduleAtFixedRate 遍歷列表

FFIVE 2023-06-08 14:48:21
我正在嘗試根據(jù)用戶可以設(shè)置的計時器遍歷列表。但是我找不到在TimerTaskrunnable中做這件事的好方法??傮w思路可以在我下面分享的代碼中找到。Announcements是List一個List<String>。在每個間隔上,我都想announcement從中獲取下一個間隔announcements并顯示其中的字符串。除了計時器超過多個,我已經(jīng)完成了所有工作announcements: timer.scheduleAtFixedRate(new TimerTask() {        int iterator = 0;        @Override        public void run() {            List<String> announcement = announcements.get(iterator);            for (String line : announcement) {                Bukkit.broadcastMessage(line);            }            iterator++;            if(iterator > announcements.size()){                iterator = 0;            }        }    }, 0, (int)config.get("interval")*1000);使用我發(fā)布的代碼,我得到了一個IndexOutOfBoundsException,它甚至從不發(fā)布任何消息。如果我刪除迭代器代碼,它將announcement無休止地顯示第一個。
查看完整描述

1 回答

?
qq_花開花謝_0

TA貢獻(xiàn)1835條經(jīng)驗 獲得超7個贊

您有錯誤的以下情況:

if(iterator?>?announcements.size())

在這種情況下,超出了列表的大小,因此IndexOutOfBoundsException被拋出。但是條件應(yīng)該檢查是否iterator大于或等于列表的大?。?/p>

if(iterator?>=?announcements.size())


查看完整回答
反對 回復(fù) 2023-06-08
  • 1 回答
  • 0 關(guān)注
  • 129 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號