【问题标题】:How to get the value from each index?如何从每个索引中获取值?
【发布时间】:2022-01-04 23:20:24
【问题描述】:

我对 Java 非常陌生,我们的任务是获取数组的随机值并将它们传递给一个方法,在该方法中将所有这些值相加以获得运行总数。

对于 sumMethod,我想从所有索引中获取每个值(由 sizeOfArray 给出)并将它们加在一起。

谢谢!

public static void sumMethod(double[] arrayOfDoubles){
   //How to get the value from each indexes (given by sizeOfArray) and add them for the sum
   int arrayLength = arrayOfDoubles.length;
         
        System.out.println(arrayOfDoubles);
   }

  public static void main(String[] args) {   
   //1-3: Set up Scanner object to collect user's input on the size of array.
      Scanner keyboard = new Scanner(System.in);
      System.out.println("How many double numerical entries do you have?");
   //4: Declare an array of size sizeOfArray
      int sizeOfArray = keyboard.nextInt();  
   
      //Initialize array
      double[] arrayOfDoubles;
      arrayOfDoubles = new double[sizeOfArray];   
   
      
      
   
      for(int i = 0; i < sizeOfArray; i++){
      //5: Use the Random number Class and walk over the array 
         Random randomNum = new Random();       
         arrayOfDoubles[i] = randomNum.nextDouble(0.0 , 100.0);
      //6: Invoke SumMethod
         sumMethod(arrayOfDoubles); 
      }
      
     
      
      
   }
}

【问题讨论】:

  • 您将获得arrayOfDoubles[index] 的值。在foor loop 之外声明一个int sum = 0 变量,然后在for loop 中声明sum += arrayOfDoubles[i]。最后用总和做你想做的事。
  • @EmadAli 这应该作为答案发布,而不是评论。
  • @Code-Apprentice 对此感到抱歉,我仍然不清楚哪些应该是答案,什么是 cmets,我认为答案应该是一个完整的详细解释,我看到了很多人们在评论部分给出简短的描述。
  • @EmadAli 无需道歉。评论旨在要求 OP 进行澄清。如果您要就如何解决问题提供直接建议,那应该是一个问题。我能找到的最佳指南是hereMeta Stack Overflow
  • @EmadAli giving direct advice to how to solve the problem [should] go in a question 应在答案中直接给出解决问题的建议

标签: java arrays random methods


【解决方案1】:
public static void sumMethod(double[] arrayOfDoubles) {
        double sum = 0;
        for (int j = 0; j < arrayOfDoubles.length; j++) {
            sum += arrayOfDoubles[j];
        }
    }

如果您还不熟悉 for-each 循环,这也可以。

此外,最好在循环中使用 arrayOfDoubles.length,以防您稍后编辑代码,更改大小,或者添加或删除元素。

【讨论】:

    【解决方案2】:

    对于sumMethod,我想说你可以做的第一件事就是给它一个返回值而不是void,(public static double sumMethod)。这样,当您在 main 中运行该方法时,您可以保留它打印出来的结果。 我可能错了,但我的理解是您的目标是获取一个数组并总结其中的值。为此,以下将是一种方法。

    public static double sumMethod(double[] arrayOfDoubles) {
        double total = 0;
        for (double num : arrayOfDoubles) {
            total += num;
        }
        return total;
    }
    

    【讨论】:

    • 我们的讲师限制我们让方法返回 void 以及让方法打印出数组中的所有值。
    猜你喜欢
    • 2016-07-12
    • 1970-01-01
    • 1970-01-01
    • 2011-07-10
    • 1970-01-01
    • 1970-01-01
    • 2019-09-13
    • 1970-01-01
    • 2017-10-24
    相关资源
    最近更新 更多