2015-03-08 43 views
0

我对Java非常陌生,现在正在学习我的第一个Java类。我试图添加一个数组,它接受用户输入,而不是简单地用预定数字填充数组。代码将获得数组的总和是否与预定数组相同?这是我的代码。获取Java中数组的总和

import java.util.Scanner; 

public class Main { 

public static void main(String[] args) 
{ 

Scanner scan = new Scanner(System.in); 

    int[] monthSales = new int[12]; 

    String[] monthNames = new String[12]; 
     monthNames[0] = "January"; 
     monthNames[1] = "February"; 
     monthNames[2] = "March"; 
     monthNames[3] = "April"; 
     monthNames[4] = "May"; 
     monthNames[5] = "June"; 
     monthNames[6] = "July"; 
     monthNames[7] = "August"; 
     monthNames[8] = "September"; 
     monthNames[9] = "October"; 
     monthNames[10] = "November"; 
     monthNames[11] = "December"; 

    int i = 0; 

    while (i <= 11) 
    { 
    System.out.println("What was the sales for the month of " + monthNames[i] + ": "); 
    monthSales[i] = scan.nextInt(); 
    i++; 

    }  
} 
} 
+0

您可以在for循环中遍历monthSales并将每个元素的值添加到另一个变量中。 – mevqz 2015-03-08 16:52:53

回答

2

总结阵列的两种方法:

1)在Java 8,你可以做(​​假设数组被称为 “monthSales”):

int sum = IntStream.of(monthSales).sum(); 
System.out.println("The sum is " + sum); 

2)或者你也可以这样做:

int sum = 0; 

for (int i : monthSales) 
    sum += i; 
0

是这样做只是想:

int sum = 0; 
for (int i=0; i<monthSales.length; i++) 
    sum += monthSales[i]; 

注旁白:

利用的循环,而不是同时这将是多读,一般和使用,而不是i < monthNames.lengthi <= 11

0

通过你的阵列只是想迭代,并添加值转换为变量

int sum = 0; 
for(int value: monthSales) 
    sum += value;