在我的服务器类的主要方法中,我有一系列if
用于聊天程序的保留关键字的语句,我正在尝试使用变量的值和.equalsIgnoreCase
方法来遍历这些语句。问题是,即使我的变量具有某个值,但在执行程序时,else
即使变量与if
条件之一完全匹配,代码也总是会进入子句。代码编译得很好,但我就是不知道为什么会这样。if
我在开始语句之前打印了变量的值,以验证它是否保持正确的值。我的代码片段如下所示:
System.out.println("Keyword is : " + keyword);
if (keyword.equalsIgnoreCase("who"))
{
System.out.println("calling who function");
whoFunction(address, socket, port);
}
else if (keyword.equalsIgnoreCase("whoami"))
{
whoami(address, socket, port, clientAddress);
}
else if (keyword.equalsIgnoreCase("all"))
{
all(message);
}
else if (keyword.equalsIgnoreCase("Bye"))
{
bye(address, socket, port, clientAddress);
}
else
{
newUser(keyword, address, searchListLength, clientAddress, port);
}
不管关键字的值是什么,它总是求助于选择最后的 else 语句。如您所见,这将导致总是打电话给我的newUser
班级。我在这里错过了什么吗?可能盯着我的脸:/