Я пытаюсь подытожить элементы массива. Когда я проверяю свой код, сумма всегда отключается на единицу. Например, если я ввожу: 20, 40,30 он дает мне 89 вместо 90. Я не совсем уверен, что я делаю неправильно. Если бы кто-нибудь мог указать мне в правильном направлении, это было бы здорово! БлагодаряОшибка рекурсии в сумме массива
Это то, что я до сих пор:
public static void main(String[] args){
int size = kbd.nextInt();
int [] myArray = new int [size]
//user inputs the elements of array
for(int i =0; i<myArray.length; i++){
myArray[i]= kbd.nextInt();
}
int total = sumNum(myArray,0, myArray.length-1)
System.out.println("The sum is"+ total);
}
public static int sumNum(int [] array, int begin, int end){
if(begin > last) {
return -1;
}
else {
int total = sumNum(array, begin +1, end)+ array[first];
}
}
Что является 'вернуть -1' делать? Запуск элементов массива фактически не влияет на вашу сумму, поэтому вы должны вернуть 0. – ryanyuyu
В вашем коде содержится много синтаксических ошибок - сделайте его компилятивным и, вероятно, он решит ваши проблемы. Используйте отладчик и небольшой размер массива, чтобы найти основную причину. – bedrin
Я просто вообще написал код здесь не обязательно со всем синтаксисом. У меня этот код работает и компилируется. Мне просто нужна помощь при вычислении логической ошибки – user3582249