Задача с массой на Java


Задача:

Дана однородная масса с некоторым количеством целых чисел. Узнать и вывести на экран сумму всех наибольших (число не одно) элементов этой массы. Вычисление наибольшего элемента и сумму элементов произвести в отдельных функциях.
Несмотря на несколько пугающе сформулированную задачу, на самом деле она не так уж и сложна. Немного переиначим её, сделаем более вразумительной. Однородная масса - это одномерный массив; таким образом се задание сводится к а) узнать наибольшее значение в массиве и б) узнать и вывести на экран сумму всех таких элементов. Решение:

package up7;

public class Up7 {

static int elMax;
static int sumIndex;
	
private static int maxEl(int[] mass) {
    int key = 0;
    for (int i=0;  i<mass.length; i++) {
    if (mass[i]>key) {
    key = mass[i];
    }
    }
    return key;
    }
   
private static int sumIndex(int[] mass, int key) {
int sum = 0;
 for (int i=0;  i<mass.length; i++) {
    if (mass[i]==key) {
    sum = sum + i;
    }
    }
return sum;
}   
	public static void main(String[] args)   {        
    int[] massa = {10,20,30,30,20,5,67,43,67};
    elMax = maxEl(massa);
    sumIndex = sumIndex (massa, elMax);
    System.out.println(sumIndex);
}
}
Пара комментариев по коду выше. Исходная масса (она же проходит у нас под псевдонимом massa и является одномерным массивом) определяется в строке 28, в ней же сразу задаются значения. в строках 8-16 с помощью функции maxEl мы находим максимальное число (значение) этой однородной массе. А вот функции sumIndex (строки 18-26) занимается тем, что суммирует все эти значения столько раз, сколько они встречаются в ней. Оба этих метода являются функциями, так как возвращают некоторые значения. Если бы они не возвращали, то их уловно называли б процедурами. Также их можно сделать не статическими, но тогда придется создавать экземпляры класса - лениво. Просто знайте, что данное решение не единственное. Хотя и правильное.

Вот так мы просто решили выглядящую такой загадочной задачу. Если у вас есть вопросы/комментарии/предложения и другие жалобы по коду выше в частности или по задачам на языке java вообще, то вы можете попробовать написать мне на почту up777up@yandex.ru. Возможно даже, что я вам помогу.

Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, java, задачи




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Отображение капчи в Joomla
Урок 16. Пространства имен .NET
Усиление стрессера