当前位置: 首页 > 面试题库 >

用Java填充布尔数组

司立果
2023-03-14
问题内容

作为一个相当环保的Java程序员,我给自己设定了尝试编写简单文本冒险的艰巨挑战。毫不奇怪,我已经遇到了困难!

我试图给我的Location类一个属性来存储退出包含的属性。我为此使用了一个布尔数组,以实质上保存代表每个出口的true / false值。我并不完全相信

a) 这是最有效的方法,并且

b) 我正在使用正确的代码填充数组。

我希望收到所有反馈,即使是对完整的代码进行大修!

目前,当实例化Location时,我生成了一个String,该字符串将发送给setExits方法:

    String e = "N S U";
    secretRoom.setExits(e);

在Location类中,setExits如下所示:

public void setExits(String e) {
    if (e.contains("N"))
        bexits[0] = true;
    else if (e.contains("W"))
        bexits[1] = true;
    else if (e.contains("S"))
        bexits[2] = true;
    else if (e.contains("E"))
        bexits[3] = true;
    else if (e.contains("U"))
        bexits[4] = true;
    else if (e.contains("D"))
        bexits[5] = true;
}

老实说,我认为这看起来特别笨拙,但我想不出另一种方法。我现在也不完全确定如何编写getExits方法…

任何帮助都将受到欢迎!


问题答案:

是否有任何原因使您使用Strings而不进行传入booleans,即

public void setExits(boolean N, boolean E, boolean S, boolean W, boolean U, boolean D)

还是有二传手?

public void setNorthOpen(boolean open)
{
  bexits[4] = open;
}

其次,为什么将出口作为布尔数组存储,这是一个小的有限集合,为什么不只是

boolean N,S,E,W,U,D;

这样,您就不必跟踪每个方向是数组中的哪个数字。

这是一个正确的答案(如果不是像@gexicide那样的最佳选择),但我完全鼓励任何人在这里查看其他答案,以有趣的方式看一下如何用Java以不同的方式完成事情。

备查

起作用的代码属于“
代码审阅”,而不是“堆栈溢出”。尽管正如@kajacx所指出的,该代码实际上不起作用。



 类似资料:
  • 作为一个相当环保的Java程序员,我给自己设定了一个巨大的挑战,试图编写一个简单的文本冒险。不出所料,我已经遇到了困难! 我正在尝试为我的 Location 类提供一个属性来存储它包含的出口。为此,我使用了一个布尔数组,基本上保存表示每个出口的真/假值。我不完全相信 a) 这是最有效的方法 b)我正在使用正确的代码来填充数组。 我将感谢任何和所有的反馈,即使是一个完整的代码超载! 目前,在实例化位

  • Arrays 类提供了一个 fill() 方法,可以在指定位置进行数值填充。fill() 方法虽然可以填充数组,但是它的功能有限制, 只能使用同一个数值进行填充。语法如下: 其中,array 表示数组,value 表示填充的值。 例 1 声明一个 int 类型的 number 数组,然后通过 for 语句进行遍历,在该语句中调用 Arrays 类的 fill() 方法来填充数组,并输出数组中元素的

  • 本文向大家介绍用Java填充字节数组,包括了用Java填充字节数组的使用技巧和注意事项,需要的朋友参考一下 可以使用java.util.Arrays.fill()方法填充Java中的字节数组。此方法将所需的字节值分配给Java中的字节数组。java.util.Arrays.fill()所需的两个参数是数组名称和要存储在数组元素中的值。 演示此的程序如下所示- 示例 输出结果 现在让我们了解上面的程

  • 我必须用奇数的范围(这里是)填充数组:1,3,5,7,9...但我总是在每个奇数之间有一个0,我不明白为什么。 注:注释中大写字母下的代码是由我们的教授给出的... 输出:

  • 我想写: 注意:我知道我可以编写自己的方法。

  • 问题内容: 我需要使用构造函数创建一个数组,添加一个将数组打印为序列的方法,以及一个使用double类型的随机数填充数组的方法。 到目前为止,这是我所做的: 我正在努力弄清楚如何用在randomFill方法中生成的随机数填充数组。谢谢! 问题答案: 您需要添加逻辑以使用 randomFill 方法将随机值分配给double []数组。 更改 至 然后,您可以调用方法,包括main方法中的list(