Задача с массой на 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 - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.