java.lang.IndexOutOfBoundsException错误Bukkit插件
好的,我现在正在开发一个Bukkit插件,并决定添加一个可以安排广播的功能。为了存储广播,我使用config.yml文件并从中获取广播。我遇到的问题是代码不断返回,IndexOutOfBoundsException我还没能修复 这是我的密码:java.lang.IndexOutOfBoundsException错误Bukkit插件,java,plugins,bukkit,Java,Plugins,Bukkit,好的,我现在正在开发一个Bukkit插件,并决定添加一个可以安排广播的功能。为了存储广播,我使用config.yml文件并从中获取广播。我遇到的问题是代码不断返回,IndexOutOfBoundsException我还没能修复 这是我的密码: package uk.co.thek4web.broadcaster; import java.util.List; import org.bukkit.scheduler.BukkitRunnable; public class bcschedule
package uk.co.thek4web.broadcaster;
import java.util.List;
import org.bukkit.scheduler.BukkitRunnable;
public class bcscheduler extends BukkitRunnable {
private Broadcaster plugin;
public bcscheduler(Broadcaster plugin){
this.plugin = plugin;
}
private int bcnumber = 0;
public void run() {
//String list from config
List<String> bcm = plugin.message();
//Broadcasts the next broadcast messsage in the config
plugin.bc(bcm.get(bcnumber));
//Makes sure broadcasts don't repeat, goes onto the next broadcast.
if(bcnumber < bcm.size()){
bcnumber++;
}
else{
bcnumber = 0;
}
}
}
我试过一些方法,但都不管用,所以如果你能告诉我哪里出了问题,我会很感激的 使用
如果(bcnumber使用< < /P>时的情况
public void run() {
List<String> bcm = plugin.message();
plugin.bc(bcm.get(bcnumber++));
bcnumber = bcnumber % bcm.size();
}
public void run(){
列表bcm=plugin.message();
plugin.bc(bcm.get(bcnumber++));
bcnumber=bcnumber%bcm.size();
}
您的问题是您超出了列表大小。顺便说一下,这里有一些关于代码的建议
List<String> bcm = plugin.message();
// You must check that your list isn't empty before doing your instructions
if((bcm != null) && !bcm.isEmpty()){
plugin.bc(bcm.get(bcnumber));
if(bcnumber < bcm.size()-1){
bcnumber++;
}
else{
bcnumber = 0;
}
}
}
List bcm=plugin.message();
//在执行指令之前,必须检查列表是否为空
如果((bcm!=null)和&!bcm.isEmpty()){
plugin.bc(bcm.get(bcnumber));
如果(bcnumber
我认为如果(bcnumber
是你的问题。当它小于bcm.size()
时,它仍然会增加一次超过大小。因此,bcm.size()-1
修复了它。
List<String> bcm = plugin.message();
// You must check that your list isn't empty before doing your instructions
if((bcm != null) && !bcm.isEmpty()){
plugin.bc(bcm.get(bcnumber));
if(bcnumber < bcm.size()-1){
bcnumber++;
}
else{
bcnumber = 0;
}
}
}