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


Задача:

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

    1. package up7;
    2.  
    3. public class Up7 {
    4.  
    5. static int elMax;
    6. static int sumIndex;
    7. private static int maxEl(int[] mass) {
    8. int key = 0;
    9. for (int i=0; i<mass.length; i++) {
    10. if (mass[i]>key) {
    11. key = mass[i];
    12. }
    13. }
    14. return key;
    15. }
    16. private static int sumIndex(int[] mass, int key) {
    17. int sum = 0;
    18. for (int i=0; i<mass.length; i++) {
    19. if (mass[i]==key) {
    20. sum = sum + i;
    21. }
    22. }
    23. return sum;
    24. }
    25. public static void main(String[] args) {
    26. int[] massa = {10,20,30,30,20,5,67,43,67};
    27. elMax = maxEl(massa);
    28. sumIndex = sumIndex (massa, elMax);
    29. System.out.println(sumIndex);
    30. }
    31. }
Пара комментариев по коду выше. Исходная масса (она же проходит у нас под псевдонимом massa и является одномерным массивом) определяется в строке 28, в ней же сразу задаются значения. в строках 8-16 с помощью функции maxEl мы находим максимальное число (значение) этой однородной массе. А вот функции sumIndex (строки 18-26) занимается тем, что суммирует все эти значения столько раз, сколько они встречаются в ней. Оба этих метода являются функциями, так как возвращают некоторые значения. Если бы они не возвращали, то их уловно называли б процедурами. Также их можно сделать не статическими, но тогда придется создавать экземпляры класса - лениво. Просто знайте, что данное решение не единственное. Хотя и правильное.

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

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

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




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




Автоматическое пополнение через ЯндексДеньги на сайт, или HTTP-уведомления
Файлы или база данных – сравним?
Имитационное моделирование: вступление
На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен