Java if语句问题[关闭]

问题描述 投票:-3回答:2

旧:

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语句中的条件是否有任何方式显示为独立的。在某种意义上,如果第一个为真,则显示第一个,如果第二个不是,则仅显示真实的那个,然后转到方法结束。我遇到的问题是,现在一切都是假的,但它仍然显示除了最后一个之外的所有内容。

我尝试将此添加到我的代码中,这些代码在答案中提供给我我很抱歉我正在编辑问题它只是我不知道如何正确评论。关于答案现在我不确定我是否应该为equals()创建一个方法;如果是的话应该包括什么。但是使用更新的代码它仍然向我显示数组列表,即使例如inv在数组中有“Rock”并且troll中没有单词。

java if-statement
2个回答
1
投票

我想要做的是,如果数组里面有一些东西,它会显示值,所以我创建了一个额外的空数组,它没有给定值。

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

if (!inv.isEmpty()) {

}

0
投票

是的,它们都在类中声明为,List inv = new ArrayList();列表hañ= new ArrayList(); List tall = new ArrayList(); List high = new ArrayList(); List troll = new ArrayList();

我想要做的是,如果数组里面有一些东西,它会显示值,所以我创建了一个额外的空数组,它没有给定值

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

tall.isEmpty();

检查它是否为空。

但说实话,这种逻辑并不高效。如果您只使用以下属性创建库存对象类会更好。处理一切会更容易。

© www.soinside.com 2019 - 2024. All rights reserved.