Java中数组的和

Java中数组的和,java,arrays,sum,Java,Arrays,Sum,我必须对下面的数组求和。它应该等于73,但出于某种原因,我得到了365 class ArrayTask2 { public static void main(String[] args) { int [] intList = {5,20,32,7,9}; int sum = 0; for (int i = intList.length-1; i >=0; i--) { for (int counter=0;counter<in

我必须对下面的数组求和。它应该等于73,但出于某种原因,我得到了365

class ArrayTask2 {

   public static void main(String[] args) {
      int [] intList = {5,20,32,7,9};
      int sum = 0;

      for (int i = intList.length-1; i >=0; i--) {
      for (int counter=0;counter<intList.length;counter++)
            sum = sum + intList[counter];
         System.out.println ("intList [" + i + "]: " + intList [i]);
      }
      System.out.println ("Sum = " + sum);
   }    
}    
类数组task2{
公共静态void main(字符串[]args){
int[]intList={5,20,32,7,9};
整数和=0;
对于(inti=intList.length-1;i>=0;i--){

对于(int counter=0;counter因为您运行的是嵌套for循环。您在内部for循环中取和。在外部循环中,您将重复此过程5次,即365次。删除外部for循环。

因为您运行的是嵌套for循环。您在内部for循环中取和。在外部循环中,您是代表将此过程执行5次,即365次。删除外部for循环。

使用Java 8

int total = Arrays.stream(intList).sum();
还是差不多

int total = IntStream.of(intList).sum();
所以完整的代码是

import java.util.*;
import java.lang.*;

class ArrayTask2 {
   public static void main(String[] args) {
      int [] intList = {5, 20, 32, 7, 9};
      int sum = Arrays.stream(intList).sum();
      System.out.println ("Sum = " + sum);
   }    
}  
使用Java8

int total = Arrays.stream(intList).sum();
还是差不多

int total = IntStream.of(intList).sum();
所以完整的代码是

import java.util.*;
import java.lang.*;

class ArrayTask2 {
   public static void main(String[] args) {
      int [] intList = {5, 20, 32, 7, 9};
      int sum = Arrays.stream(intList).sum();
      System.out.println ("Sum = " + sum);
   }    
}  

您不应该将它们放在两个循环中,并且始终尝试将代码保持在相同的模式中

class ArrayTask2 {

   public static void main(String[] args) {
      int [] intList = {5,20,32,7,9};
      int sum = 0;

      //for (int i = intList.length-1; i >=0; i--) {
      for (int counter=0;counter<intList.length;counter++)
         sum = sum + intList[counter];

         //System.out.println ("intList [" + i + "]: " + intList [i]);
      }
      System.out.println ("Sum = " + sum);
   //}    
} 
类数组task2{
公共静态void main(字符串[]args){
int[]intList={5,20,32,7,9};
整数和=0;
//对于(inti=intList.length-1;i>=0;i--){

对于(int counter=0;counter您不应该将它们放在两个循环中,并且始终尝试将代码保持在相同的模式中

class ArrayTask2 {

   public static void main(String[] args) {
      int [] intList = {5,20,32,7,9};
      int sum = 0;

      //for (int i = intList.length-1; i >=0; i--) {
      for (int counter=0;counter<intList.length;counter++)
         sum = sum + intList[counter];

         //System.out.println ("intList [" + i + "]: " + intList [i]);
      }
      System.out.println ("Sum = " + sum);
   //}    
} 
类数组task2{
公共静态void main(字符串[]args){
int[]intList={5,20,32,7,9};
整数和=0;
//对于(inti=intList.length-1;i>=0;i--){

对于(int counter=0;counter你只需要一个循环,你不需要把它们放在2 for循环中。你没有试着调试它吗?对这一点上的反对票感到困惑-这对专家来说可能很简单,显然是某种家庭作业或实验室工作,但老实说,问题是显示OP到目前为止尝试了什么,要求是什么,等等。这是一个好问题tion!你只需要一个循环你不需要把它们放在2 for循环中。你还没有试着调试它吗?对这一点上的否决票感到困惑-这对专家来说可能很简单,显然这是某种家庭作业或实验室工作,但老实说,问题是显示OP到目前为止尝试了什么,要求是什么,等等。这是一个好问题!这是绝对的非常正确。快速检查
73*5=365
是进一步的证据。这绝对正确。快速检查
73*5=365
是进一步的证据。