尝试确定Java数组中的最小数量和位置

limadog2003

我是该站点的新手,并且是编程的新手,所以请保持谦虚。我正在做一个作业,我已经完成了它所需要的一切,但是我在一个特定的部分上遇到了问题。

因此,下面的代码只是我遇到问题的整个程序的for循环部分。我创建了一个数组来存储用户的季度输入。当我确定哪个季度的降雨量最大时,代码工作正常。

但是,当我尝试确定数量最少的季度时,我遇到了问题。我基本上以相同的方式设置它们,但这是行不通的。我敢肯定,那里一定有一个逻辑问题,但是我已经绞尽脑汁想办法解决。任何帮助将不胜感激。我确定这是我正在做的一些小而愚蠢的事情。

double largest=0;
for (int k = 0; k < quarterlyArray.length; k++) { // Determines the largest quarterly rainfall.
  if ( quarterlyArray[k] >= largest ) {
    largest = quarterlyArray[k];
  }
}

for (int k = 0; k < quarterlyArray.length; k++) { // Determines in which quarter had largest rainfall.
  if (quarterlyArray[k] == largest) {
    System.out.println("Quarter " + (k+1) + " saw the most rain this year with " + largest + " inches.");
  }
}

double smallest = 0;  
for (int p = (quarterlyArray.length-1); p == 0; p--) { // This is not working right now. 
  if (quarterlyArray[p] < quarterlyArray [quarterlyArray.length-1] ||  quarterlyArray[p] < smallest) {
    quarterlyArray[p] = smallest;
  }
}

for (int l = quarterlyArray.length; l == 0; l--) { // Nor this.
  if (quarterlyArray[l] == smallest) {
    System.out.println("Quarter " + (l+1) + " saw the least rain this year with " + smallest + " inches.");
  }
}
mkobit

我注意到一些与您的问题有关的事情:

for (int p = (quarterlyArray.length-1); p == 0; p--) {

p == 0终止表达仅当此条件为时,您的循环才会迭代true您的循环将不会执行,因为条件false在第一次迭代中。

for (int l = quarterlyArray.length; l == 0; l--) {

这个循环中也有同样的问题。在第一个循环中查看您的状况k < quarterlyArray.length如果为false,则您的循环将终止。

quarterlyArray[p] = smallest

您正在修改数组,而不是局部变量smallest

您还需要注意数组的边界。您的循环设置l为数组长度- int l = quarterlyArray.length如果您随后尝试使用索引到该数组quarterlyArray[l],则会得到一个ArrayIndexOutOfBoundsException原因,因为Java数组(以及我会说的大多数编程语言)都是基于0的

需要指出的另一件事是您如何计算minmax例如,假设您quarterlyArray包含所有负值。那会largest是什么?好吧,数组中的所有项目都不大于0,因此largest将为0。这将是不正确的,因为该值不在数组中。

在第一种情况下,您似乎是从一个元素开始的,而该元素将永远比array中的元素低如果您知道所有元素都将大于此范围,则此方法很好。double largest = 0将根据要解决的问题的约束将其更改为数组的最大值。

一种更好的解决方法是从数组中已知元素开始如果您只是简单地将其更改largest为数组中的第一个/最后一个元素,然后遍历其余元素,则总会得到所需的结果。

double largest = quarterlyArray[0];
for (int k = 1; k < quarterlyArray.length; k++) { // Determines the largest quarterly rainfall.
  if ( quarterlyArray[k] >= largest ) {
    largest = quarterlyArray[k];
  }
}

请注意,我所做的只是对largest的初始化int k = 1您可以针对做同样的事情smallest在这种情况下,我从数组末尾开始。

double smallest = quarterlyArray[quarterlyArray.length - 1];  
for (int p = quarterlyArray.length - 2; p >= 0; p--) {right now. 
  if (quarterlyArray[p] < smallest) {
    smallest = quarterlyArray[p];
  }
}

完成此操作后要注意的另一点是,如何在1个for循环中同时进行这两个操作

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

数组中的Java最小值和最大值

来自分类Dev

如何确定C中数组元素的数量?

来自分类Dev

TEdit:自动完成并限制最小数量

来自分类Dev

尝试确定Java中的简单解密算法

来自分类Dev

PostgreSQL获得最小数量(*)?

来自分类Dev

SVG的最小数量是多少?

来自分类Dev

数组中的最小和最大数量的JavaScript返回索引

来自分类Dev

查找交换的最小数量以对数组进行排序

来自分类Dev

删除最小数量的重叠圆?

来自分类Dev

如何在字符串java中打印最大和最小数量的ASCII值

来自分类Dev

在涵盖特定值的列表中查找最小数量的元素

来自分类Dev

C#Regex字符串中字母数字的最小数量,但可用最小数量中不包含的空格包围

来自分类Dev

在Python中递归地实现“最小数量的硬币”

来自分类Dev

对数组进行排序的“插入”的最小数量

来自分类Dev

如何计算mysql上A和B的最小数量?

来自分类Dev

在数组Java中查找最小值和第二最小值

来自分类Dev

PostgreSQL获得最小数量(*)?

来自分类Dev

使用[[($ B元素的总和)-($ C元素的总和)]]等于最小数量(如果可能为0)的$ A元素制作2个数组($ B和$ C)?

来自分类Dev

使用split('')和reverse();查找数组中的最小数字;

来自分类Dev

Java:查找数组中大于零的最小数字

来自分类Dev

从数组中选择最小数量并删除其余的JavaScript

来自分类Dev

找到平均值。int数组的最大,最小数量和模式

来自分类Dev

随机数组中的最小数字及其索引

来自分类Dev

修改numpy数组以获取元素之间的最小数量的值

来自分类Dev

加号和最小数组按显示未定义

来自分类Dev

更新基于最小数量与状态列在mysql中的列?

来自分类Dev

数组中不为 0 的最小数

来自分类Dev

获取数组中存在值的最小和最大位置

来自分类Dev

使用函数查找数组中的最大和最小数

Related 相关文章

  1. 1

    数组中的Java最小值和最大值

  2. 2

    如何确定C中数组元素的数量?

  3. 3

    TEdit:自动完成并限制最小数量

  4. 4

    尝试确定Java中的简单解密算法

  5. 5

    PostgreSQL获得最小数量(*)?

  6. 6

    SVG的最小数量是多少?

  7. 7

    数组中的最小和最大数量的JavaScript返回索引

  8. 8

    查找交换的最小数量以对数组进行排序

  9. 9

    删除最小数量的重叠圆?

  10. 10

    如何在字符串java中打印最大和最小数量的ASCII值

  11. 11

    在涵盖特定值的列表中查找最小数量的元素

  12. 12

    C#Regex字符串中字母数字的最小数量,但可用最小数量中不包含的空格包围

  13. 13

    在Python中递归地实现“最小数量的硬币”

  14. 14

    对数组进行排序的“插入”的最小数量

  15. 15

    如何计算mysql上A和B的最小数量?

  16. 16

    在数组Java中查找最小值和第二最小值

  17. 17

    PostgreSQL获得最小数量(*)?

  18. 18

    使用[[($ B元素的总和)-($ C元素的总和)]]等于最小数量(如果可能为0)的$ A元素制作2个数组($ B和$ C)?

  19. 19

    使用split('')和reverse();查找数组中的最小数字;

  20. 20

    Java:查找数组中大于零的最小数字

  21. 21

    从数组中选择最小数量并删除其余的JavaScript

  22. 22

    找到平均值。int数组的最大,最小数量和模式

  23. 23

    随机数组中的最小数字及其索引

  24. 24

    修改numpy数组以获取元素之间的最小数量的值

  25. 25

    加号和最小数组按显示未定义

  26. 26

    更新基于最小数量与状态列在mysql中的列?

  27. 27

    数组中不为 0 的最小数

  28. 28

    获取数组中存在值的最小和最大位置

  29. 29

    使用函数查找数组中的最大和最小数

热门标签

归档