2015-03-08 2 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 и добавлять значение каждого элемента в другую переменную. – mevqz

ответ

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.length вместо i <= 11

0

Просто итерацию через массив и добавить значение к переменной

int sum = 0; 
for(int value: monthSales) 
    sum += value; 
Смежные вопросы