如何在数组中查找最接近给定数字的值

德文郡

我正在努力理解这个概念(数组),但遇到了很多麻烦(这是我的第一门计算机科学课程。)这是我的代码,问题在顶部列出。我已尝试解决此问题,但我认为我的逻辑不正确,因为我没有得到想要的答案。

// Generate an array of 50 random numbers between 1 to 100. Now, find the number in the array closest to 75 and output it using println(). 

int[] numbers = new int[50];
int targetNumber = 75;

for (int i = 0; i < numbers.length; i++){
  numbers[i] = (int) random(1,100);

int closestSoFar = abs(numbers[i]-targetNumber);

  if(closestSoFar > targetNumber){
    closestSoFar = abs(numbers[i]-targetNumber);

    println(closestSoFar);
  }
}

尽管我将非常感谢正确的答案,但我很想听听为什么这是正确的答案,以及我将如何改进自己的逻辑,以便将来自己独立完成。

短跑运动员

根据要求,我将解释我认为的答案,然后对如何找到答案提供一些提示。

您的逻辑是:

int closestSoFar = abs(numbers[i] - targetNumber);
if (closestSoFar > targetNumber) {

现在想象一下数字是“ 76”。closestSoFar将成为abs(76 - 75)1显然不大于75

因此,逻辑错误很简单:您正在将差值与绝对数进行比较。

解决方法是您确实需要检查当前数字numbers[i]是否比closestSoFar可以通过以下方式完成:

if (abs(numbers[i] - targetNumber) < abs(closestSoFar - targetNumber)) {

现在,关于您自己如何找到它,这里有一些提示:

  1. 第一个也是最简单的方法是查看您的代码并在脑海中遍历一个场景(在本例中为数字76)。边检查边检查结果是否符合预期。在这种情况下,将为您找到它。
  2. 如果那行不通(例如,逻辑太复杂而无法在您的脑海中完成),请使用交互式调试器。逐步检查逻辑,然后再次检查变量是否返回了您期望的结果。
  3. 如果仍然不能解决问题,那么您将不得不重构代码以将其分解为较小的部分,您可以独立进行验证。在这里,单元测试是您的朋友。在这种情况下,您可以创建诸如的方法,isClosestToTarget并进行一些单元测试,以确保在继续使用已测试方法的方法之前,它可以达到预期的效果。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在数组中找到最接近给定数字的值?

来自分类Dev

如何在数组中查找最接近条件的数据

来自分类Dev

在数组中查找最接近的值使用linq?

来自分类Dev

查找与给定数字最接近的k个数字

来自分类Dev

查找与给定数字最接近的数字总和

来自分类Dev

如何在距x的距离处找到与给定数字最接近的n个数字?

来自分类Dev

如何在距x的距离处找到与给定数字最接近的n个数字?

来自分类Dev

排序最接近给定数字的数字

来自分类Dev

获取列表中某个给定数字的 3 个最接近的值?

来自分类Dev

如何在Matlab数组中数字搜索所有最接近零的值?

来自分类Dev

SQL:通过关系查找最接近给定值的数字

来自分类Dev

如何使用C中的for循环找到给定数字的最接近素数?

来自分类Dev

在多维数组中查找最接近嵌入式C中给定值的值

来自分类Dev

在多维数组中查找最接近Embedded C中给定值的值

来自分类Dev

Python:如何在数组X中查找值接近数组Y中元素的元素?

来自分类Dev

Python:如何在数组X中查找值接近数组Y中元素的元素?

来自分类Dev

在字典C#中查找与给定值最接近的值

来自分类Dev

如何在数组中找到与整数和数字之间的两个最接近的差

来自分类Dev

在数组中查找加起来等于给定数字的数字 C++

来自分类Dev

如何在数组角度 6 中找到最接近的较低值?

来自分类Dev

舍入到给定数字数组中最接近的数字

来自分类Dev

在数组中查找特定数字?

来自分类Dev

javascript - 在数组中删除最接近的值

来自分类Dev

从两个数组列表中查找最接近的数字

来自分类Dev

在两个数组中查找最接近的数字

来自分类Dev

在整数数组中查找最接近的数字

来自分类Dev

在两个数组中查找最接近的数字

来自分类Dev

从两个数组列表中查找最接近的数字

来自分类Dev

在圆形数组中查找最接近的数字

Related 相关文章

  1. 1

    如何在数组中找到最接近给定数字的值?

  2. 2

    如何在数组中查找最接近条件的数据

  3. 3

    在数组中查找最接近的值使用linq?

  4. 4

    查找与给定数字最接近的k个数字

  5. 5

    查找与给定数字最接近的数字总和

  6. 6

    如何在距x的距离处找到与给定数字最接近的n个数字?

  7. 7

    如何在距x的距离处找到与给定数字最接近的n个数字?

  8. 8

    排序最接近给定数字的数字

  9. 9

    获取列表中某个给定数字的 3 个最接近的值?

  10. 10

    如何在Matlab数组中数字搜索所有最接近零的值?

  11. 11

    SQL:通过关系查找最接近给定值的数字

  12. 12

    如何使用C中的for循环找到给定数字的最接近素数?

  13. 13

    在多维数组中查找最接近嵌入式C中给定值的值

  14. 14

    在多维数组中查找最接近Embedded C中给定值的值

  15. 15

    Python:如何在数组X中查找值接近数组Y中元素的元素?

  16. 16

    Python:如何在数组X中查找值接近数组Y中元素的元素?

  17. 17

    在字典C#中查找与给定值最接近的值

  18. 18

    如何在数组中找到与整数和数字之间的两个最接近的差

  19. 19

    在数组中查找加起来等于给定数字的数字 C++

  20. 20

    如何在数组角度 6 中找到最接近的较低值?

  21. 21

    舍入到给定数字数组中最接近的数字

  22. 22

    在数组中查找特定数字?

  23. 23

    javascript - 在数组中删除最接近的值

  24. 24

    从两个数组列表中查找最接近的数字

  25. 25

    在两个数组中查找最接近的数字

  26. 26

    在整数数组中查找最接近的数字

  27. 27

    在两个数组中查找最接近的数字

  28. 28

    从两个数组列表中查找最接近的数字

  29. 29

    在圆形数组中查找最接近的数字

热门标签

归档