【问题标题】:Compare Multiple Integers and find largest in java比较多个整数并在java中找到最大的
【发布时间】:2011-12-29 12:08:27
【问题描述】:

我是 java 新手,我正在制作一个 MAbovePixel 生成器。现在我的想法是,最上面的像素和最右边的像素是蓝色的,从那时起,生成器就有机会产生黄色(沙子),然后是地面和草地。

到目前为止,我让“生成器”检查它上面的像素,以及它的左边。根据像素的颜色,当前像素有可能成为它旁边的像素之一。

          if (LeftPixel == 0xFF0000FF) OceanChance = OceanChance + 5;
          if (AbovePixel == 0xFF0000FF) OceanChance = OceanChance + 5;
          if (LeftPixel == 0xFFEDC9AF) SandChance = SandChance + 5;
          if (AbovePixel == 0xFFEDC9AF) SandChance = SandChance + 5;
          if (LeftPixel == 0xFF733D1A) GroundChance = GroundChance + 5;
          if (AbovePixel == 0xFF733D1A) GroundChance = GroundChance + 5;
          if (LeftPixel == 0xFF698B22) GrassChance = GrassChance + 5;
          if (AbovePixel == 0xFF698B22) GrassChance = GrassChance + 5;

在这一点上,我不确定下一步该做什么。 我有列表,但是如何检查 Java 中最大的内容?

如何比较列表中的所有整数,并根据最大的整数,做任何事情。 或者,如果有平局,则从平局列表中随机选择一个要使用的 int。

我确实在互联网上搜索了“Java 比较多个整数”,但它没有提出任何我能理解的内容,所以也许我不知道我正在尝试做的事情的名称?

无论如何,最好的做法是什么?

【问题讨论】:

  • 您似乎没有列表或数组。你能简化你的例子,让你有问题需要的东西吗?
  • 是的,很抱歉。我想我简化了一点。
  • 看来你没有一个直截了当的算法。你能更清楚地解释你想要做什么吗?也永远不要给你的变量起短名字。没有人会明白这些神奇名字的含义。
  • 在列表之外,我想取所有 Chances 的总和,看看哪个更大。当然,现在它们现在都是一样的,但仍然是。

标签: java list int


【解决方案1】:

所以你有 4 个机会整数,你需要找到最大的吗?如果是这样,将它们放入排序列表TreeSet 并获取列表中的最后一个元素

【讨论】:

    【解决方案2】:

    您迭代列表并找到最大值。如果它只有 4 个值,你可以写 4 如果将每个值与当前最大值进行比较,尽管 java jitter 可能就是这样做的。

    编辑:

    或者只使用 Collections#max()

    【讨论】:

    • 我计划在列表中添加很多值。也许在..40左右?在游戏中工作,像素将是图块。所以这将是一个非常大的列表。
    • 如果只是为了找到最大值,你应该迭代列表。没有更快更简单的方法。
    • alertnatively 如果您不关心列表中的位置,您应该使用 Collections#max(),编辑答案
    猜你喜欢
    • 2015-12-14
    • 1970-01-01
    • 2017-04-18
    • 1970-01-01
    • 1970-01-01
    • 2014-11-07
    • 2021-10-26
    • 2012-05-29
    • 2015-01-22
    相关资源
    最近更新 更多