JAVA:语法错误插入else语句来完成if语句

时间:2016-07-25 07:35:21

标签: java

嗨我正在为我的我的Minecraft服务器制作一个插件,但现在我有一个问题,我坚持和if else语句更新它。 我在很多论坛上搜索过,但现在我在这里没有帮助。 我用eclipse。

        if(commandName.equals("t")){

        }
            if(!player.hasPermission("Clans.teamchat")) {
                player.sendMessage(ChatColor.RED + "You do not have permission to use this command.");
                return true;
            }
            if(!tPlayer.hasTeam()) {
                player.sendMessage(ChatColor.RED + "You are not on a team.");
                return true;
            }
            else if(!getRank(PlayerName).canTeamChat()) {
                player.sendMessage(ChatColor.RED + "You lack sufficient permissions to talk in team chat.");
                return true;
            }
            else if (args.length < 1) {
                player.sendMessage(ChatColor.RED + "You did not enter a message to send.");
                return true;
            }
            else if (args[0].equalsIgnoreCase("@loc")) {
            return true;
            }

2 个答案:

答案 0 :(得分:1)

不确定所有相关代码,但可能是您错过了return之后的最终if语句。原因是,使用现在的代码,您不会处理不符合任何条件但仍需要为方法提供返回值的情况。

答案 1 :(得分:0)

你需要在这里更勤奋;它从格式和大括号开始。你真的想要在if之后的每个块,甚至像

这样的东西
if (something) {
   just one thing 
} else {
   just another thing
}

在{和}中出现阻止。然后你以一种规范的方式格式化你的代码(你知道,任何体面的IDE都可以为你做到这一点) - 为了能够掌握你正在创建的“内容”。

换句话说:您的问题只是违反了语法规则。避免这种情况的最简单方法是编写带有结构的源代码来指导您。

你看,可能你错过了一个最终的返回语句,或者你把两个不同的东西放在一起 - 如果你只是使用相同的规则和格式不断地写下你的代码,那么所有这些都会变得很明显。

另一件事当然是:这种冗长的if / else链总是你想要通过适当的OO设计来避免的东西。你不要求对象属性然后做出决定;相反,你使用接口,具有不同的实现;所以,稍后,您只需调用这些方法(有关详细说明,请参阅here。)