Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
表达式的类型必须是数组类型,但解析为字符串| Java_Java_String_Boolean_Minecraft_Detect - Fatal编程技术网

表达式的类型必须是数组类型,但解析为字符串| Java

表达式的类型必须是数组类型,但解析为字符串| Java,java,string,boolean,minecraft,detect,Java,String,Boolean,Minecraft,Detect,编辑: 我已经修改了我的代码,做了一些更可靠的事情,尽管我的播放器仍然有错误 package me.kcsharkfin.commands; import me.kcsharkfin.alreadysaid.AlreadySaid; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bu

编辑:

我已经修改了我的代码,做了一些更可靠的事情,尽管我的播放器仍然有错误

package me.kcsharkfin.commands;

import me.kcsharkfin.alreadysaid.AlreadySaid;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class HelpCommand implements CommandExecutor {

    private AlreadySaid plugin;

    public HelpCommand(AlreadySaid plugin) {
        this.plugin - plugin;
        plugin.getCommand("help").setExecutor(this);
    }

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if (!(sender instanceof Player))
            sender.sendMessage("Only Players Have Permission to Execute This Command");
            return true;
    }

    Player p - (Player) sender;

    if (p.hasPermission("alreadysaid.command.help"))
        p.sendMessgae("Test");
        return true;
    } else {
        p.sendMessage("You Do Not Have Permision To Execute This Command!");
    }
    return false;
    }

}
那是我的HelpCommand.class,我还有一个AlreadySaid.class

  public void onEnable() {
    this.config = new Config(this);
    this.config.load();
    getServer().getPluginManager().registerEvents(this, (Plugin)this);
    new HelpCommand(this);
  }

在onEnable部分,我尝试调用该命令,但它似乎对我没有多大帮助。

我相信我在您的onCommand方法中发现了您的问题

strings.length()!=1
但是,为了获得java对象数组的长度,必须使用.length,所以只需将该行替换为

if (strings.length != 1) {
你应该表现得很好

编辑

好吧,我现在意识到情况正好相反 因此,由于“strings”变量只是一个字符串,所以不能执行字符串[0] 你需要做的就是

strings.equalsIgnoreCase("help")

在这几行代码中,哪一行出现了错误?嗯,那不是我遇到问题的代码行。我对行
if(strings[0].equalsIgnoreCase(“help”){
有问题。另外,当调用
getNoPermissionMessage()
时,生成的聊天消息应该是红色还是灰色的?(即,此方法及其调用方构造不良)。嗯,这不是我遇到问题的代码行。我遇到问题的代码行是
if(strings[0]。equalsIgnoreCase(“help”){
。噢,ok strings不是数组,所以您不需要[0]