Member 13661842 Ответов: 1

Чтобы найти сумму соседних элементов - метод и массив


Учитывая массив целых чисел, найдите пару соседних элементов, которая имеет наибольшую сумму, и верните эту сумму

входной формат:
Массив целых чисел, содержащий не менее 2 элементов

Выход :
Целое число-наибольшая сумма соседних элементов.

Пример

Для inputArray = [3, 6, -2, -5, 7, 3], выход должен быть adjacentElementsSum(inputArray) = 10.

7 и 3 дают наибольшую сумму.

Обязательный:

1. Создайте класс "образец" с помощью двух следующих методов:

2. Подробности Метода:

a. имя метода = adajcentElementsSum ()
б. Открыть описатель = общественные
c. аргумент = два аргумента [элементы массива и длина массива] типа integer , в первом тестовом случае элементы массива равны 18,34,22,-19,31,-29,12, а длина массива равна 7
d. Return type = integer , он возвращает наибольшую сумму соседних элементов основному методу

3. доступ к adajcentElementsSum(int arr[],int n) в классе "Sample" из класса main method (TestClass)

Примечание:
Определение метода должны иметь переменные, как "модуль arr[]" и "Н" общественная int adajcentElementsSum(инт модуль arr[],int и Н)
Возврат наибольшей суммы после вычисления sadjacentsum в методе к основному методу

Что я уже пробовал:

import java.io.*;
import java.util.*;

class Sample
{
  Scanner s = new Scanner(System.in);
 int n = s.nextInt();
  int i;
  int arr = new int[100];
  
  for(i=0;i<n;i++)
  {
   arr[i]=s.nextInt();
  }
 public int adjacentElementsSum()
 {
   int largestsum=0;
   int previoussum=0;
   
   for(int i=0;i<=n;i++)
   {
     
    if(i==0)
    {
     for(int j=0;j<n;j++)
     {
      largestsum=largestsum+arr[j];
     }
      previoussum=largestsum;
    }
     
     else
     {
      int currentsum = previoussum - arr[i-1]+arr[i+n-1];
      {
       if(currentsum>largestsum)
       {
        largestsum = currentsum;
       }
        previoussum = currentsum;
      }
     }
   }
   return largestsum;
 }
}
public class TestClass 
{
	 public static void main(String[] args)
     {       
       Sample obj = new Sample();
       obj.adjacentElementsSum();
	}
}

Richard MacCutchan

В чем же вопрос?

1 Ответов

Рейтинг:
0

CPallini

В вашей программе есть несколько ошибок.
Например, сигнатура метода неверна.
Я бы начал писать правильную подпись и пустую реализацию и исправлять main() вот как это должно называться.
Затем вы можете сосредоточиться на алгоритме (он проще, чем ваши попытки передать).
Кстати, тебе это не нужно. TestClass. переместите свой основной метод в Sample один.