gpt4 book ai didi

java - 具有 2 个参数的静音命令 (ArrayIndexOutOfBoundsException)

转载 作者:行者123 更新时间:2023-12-01 12:48:41 25 4
gpt4 key购买 nike

出于某种原因,我在第 41 行遇到了 ArrayIndexOutOfBoundsException。我已经尝试了至少一个小时来找出我的代码出了什么问题。我正在尝试创建一个静音命令,因此该命令应该是:/mute [player] [enable/disable]。

非常感谢您的帮助。

package me.parat26.cmds;

import me.parat26.admingui.MessageManager;
import me.parat26.admingui.SettingsManager;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class Mute implements CommandExecutor
{
SettingsManager config = SettingsManager.getInstance();
MessageManager send = MessageManager.getInstance();

public static boolean chatDisabled = false;

@SuppressWarnings("deprecation")
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
{
if ( sender.hasPermission((String) config.getConfig().get("permissions.mute")) )
{
if (args.length == 0)
{
send.message(sender, "Error", "Please provide enough arguments.");
}

if (args.length == 1)
{
Player offender = Bukkit.getServer().getPlayer(args[0]);
String s = sender.getName();

if (offender == null)
{
send.message(sender, "Error", "Player " + ChatColor.YELLOW + args[0] + ChatColor.WHITE + " could not be found.");
return true;
}
// Line 41
if (args[0] != null && args[1] != null && offender != null && offender.isOnline())
{
if (args[1].equalsIgnoreCase("enable"))
{
send.message(sender, "Yes", "Enabled...");
}
else if (args[1].equalsIgnoreCase("disabled"))
{
send.message(sender, "Yes", "Disabled...");
}
}
else
{
send.message(sender, "Error", "Please provide enough arguments.");
return true;
}
}
}
return true;
}
}

最佳答案

你有

if (args.length == 1)
{
/* ... */

if (args[0] != null && args[1] != null &
// Problem is here ----^

如果 args.length1,则无法尝试访问 args[1],因为该数组没有一个。这就是为什么你会得到异常(exception)。

要么 args.length == 1 测试错误,或者您不需要在该 if 内的任何位置使用 args[1] block 。

关于java - 具有 2 个参数的静音命令 (ArrayIndexOutOfBoundsException),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24428437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com