Java if 语句问题

老的:


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 语句中的项目是数组,abcd 是生成的随机数,需要密码。在这里,我正在尝试显示我的库存,所以我想知道是否有任何方法可以将 if 语句中的条件显示为独立项。从某种意义上说,如果第一个为真,则显示第一个,如果第二个不是,则仅显示为真的,然后转到方法结束。我遇到的问题是,现在所有都是错误的,但除了最后一个之外,它仍然显示所有这些。


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


天涯尽头无女友
浏览 97回答 2
2回答

Cats萌萌

我想要做的是,如果数组里面有一些东西,它会显示值,所以我创建了 troll 作为一个没有给定值的额外空数组。要检查是否List为空,请使用isEmpty():if (!inv.isEmpty()) { }

12345678_0001

是的,它们都在类中声明为 List inv = new ArrayList(); 列表 hañ = new ArrayList(); 列表高 = 新 ArrayList(); 列表高 = new ArrayList(); 列表巨魔 = new ArrayList();我想要做的是,如果数组里面有一些东西显示值,所以我创建了 troll 作为一个没有给定值的额外空数组如果以这种方式初始化变量,并且只想查看它是否为空。你可以做:tall.isEmpty();检查它是否为空。但说实话,这种逻辑效率不高。如果您只创建一个具有以下属性的库存对象类会更好。处理一切都会更容易。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java