旧:
if (inv != troll) {
System.out.println("Rock " + a);
}
if (hañ != troll) {
System.out.println("Doll " + b);
}
if (tall != troll) {
System.out.println("Mirror " + c);
}
if (troll != troll) {
System.out.println("Note " + d);
}
End();
f++;
已更新:
if (!inv.equals(troll)) {
System.out.println("Rock "+ a);}
if (!hañ.equals(troll)) {
System.out.println("Doll "+ b);}
if (!tall.equals(troll)) {
System.out.println("Mirror "+ c);}
if (!high.equals(troll)) {
System.out.println("Note "+ d);}
End();
f++;
我正在做一个文字冒险游戏,if语句中的项是数组,a b c d是生成的随机数,这是所需的密码。在这里,我试图显示我的清单,所以我想知道是否有任何方式可以将if语句中的条件显示为独立变量。从某种意义上说,如果第一个为true,则显示第一个,如果第二个为true,则仅显示正确的,然后转到方法末尾。我的问题是,现在所有的都是假的,但是除了最后一个之外,它仍然显示所有这些。
我尝试将其添加到我在回答中提供的代码中,很抱歉,我正在编辑问题,只是我不知道如何正确注释。关于答案,现在不确定是否应该为equals()创建一个方法。如果是这样,它应该包括什么。但是使用更新后的代码,即使在例如inv数组内部有“ Rock”且troll中没有单词的情况下,它仍会向我显示数组列表。
答案 0 :(得分:1)
我想做的是,如果数组内部有杂物,它将显示该值,所以我将troll创建为一个没有给定值的额外的空数组。
要检查List
是否为空,请使用isEmpty()
:
if (!inv.isEmpty()) {
}
答案 1 :(得分:0)
是的,它们都在类中声明为List inv = new ArrayList();列表hañ= new ArrayList();列表高=新的ArrayList();列表高=新的ArrayList();列出巨魔= new ArrayList();
我想做的是,如果数组内部有杂物,它将显示该值,所以我将troll创建为一个没有给定值的空数组
如果以这种方式初始化变量,而您只想看看它是否为空。您可以这样做:
tall.isEmpty();
检查是否为空。
但是,老实说,这种逻辑效率不高。如果仅创建具有以下属性的清单对象类,那就更好了。处理一切都会更容易。