Java if语句问题

时间:2019-03-08 16:12:21

标签: java if-statement

旧:

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中没有单词的情况下,它仍会向我显示数组列表。

2 个答案:

答案 0 :(得分:1)

  

我想做的是,如果数组内部有杂物,它将显示该值,所以我将troll创建为一个没有给定值的额外的空数组。

要检查List是否为空,请使用isEmpty()

if (!inv.isEmpty()) {

}

答案 1 :(得分:0)

  

是的,它们都在类中声明为List inv = new ArrayList();列表hañ= new ArrayList();列表高=新的ArrayList();列表高=新的ArrayList();列出巨魔= new ArrayList();

     

我想做的是,如果数组内部有杂物,它将显示该值,所以我将troll创建为一个没有给定值的空数组

如果以这种方式初始化变量,而您只想看看它是否为空。您可以这样做:

tall.isEmpty();

检查是否为空。

但是,老实说,这种逻辑效率不高。如果仅创建具有以下属性的清单对象类,那就更好了。处理一切都会更容易。