(JAVA) Добавление целых чисел в массив - PullRequest
0 голосов
/ 21 марта 2020

Я новичок в java программировании, поэтому прошу прощения за любые недопонимания или неправильные интерпретации. Мне нужно написать программу с 2 методами, первый метод объявляет массив целых чисел, как показано, и переменная, которая является суммой этого массива, затем выводит сумму.

Второй метод - это то, где мое сложение занимает место. Я объявил переменную "sum", равную 0, чтобы моё сложение могло работать, и a для l oop, который добавляет все целые числа в зависимости от длины массива, возвращая переменную sum обратно в основной метод. (Из моего текущего понимания моей программы)

Пока что это не работает, и я получаю 3 ошибки. Один из моих основных методов "не могу найти символ - inputArray" не может найти символ в моем для l oop для "arr.length" и не может найти символ в моем "sum + = arr [i]". Может кто-нибудь объяснить, и, возможно, помочь с тем, почему я получаю эти ошибки. Спасибо за ваше время.

public static void main(String[] args){
    int arr[] = {1,2,3,4,5};
    int sum = sumArray(inputArray);
    System.out.println("The sum is: "+sum);
}
public static int sumArray(int[] inputArray){
    int sum = 0;
    int i;
    for (i = 0; i < arr.length; i++){
        sum += arr[i];
        return sum;
    }   

}

Ответы [ 5 ]

3 голосов
/ 21 марта 2020

Имя переменной inputArray. Также оператор return должен быть за пределами l oop:

public static int sumArray(int[] inputArray){
    int sum = 0;
    for (int i = 0; i < inputArray.length; i++){
        sum += inputArray[i];
    }   
    return sum;
}
0 голосов
/ 28 марта 2020

Я думаю, что это должно решить вашу проблему:

public static void main(String[] args){
   int arr[] = {1,2,3,4,5};
   int sum = sumArray(arr);
   System.out.println("The sum is: "+ sum);
}

public static int sumArray(int[] inputArray){
   int sum = 0;
   for (int i = 0; i < inputArray.length; i++){
       sum += inputArray[i];
       return sum;
   }
}
0 голосов
/ 21 марта 2020

В java -8 вы можете использовать такие потоки:

public static int sumArray(int[] arr) {
    int sum = IntStream.of(arr).sum();
    return sum;
}

Вывод: сумма: 15.

В пакете java .util.stream

0 голосов
/ 21 марта 2020

Оператор возврата должен быть за пределами для l oop. Когда оператор return находится в l oop, метод sumArray возвращает значение первого элемента inputArray. Ниже я также добавил для каждого l oop и заменил имя arr на имя параметра inputArray.

public static int sumArray(int[] inputArray){
int sum = 0;
for (int element : inputArray){
    sum += inputArray[i];
}
return sum;
}
0 голосов
/ 21 марта 2020

Вы также можете использовать для каждого , чтобы найти сумму. Найдите код ниже

public static int sumArray(int[] arr){
    int sum = 0;
    for(int i:arr) {
        sum+=i;
    }
    return sum;   
}
...