Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2018, 20:34   #1
Perishte
Новичок
Джуниор
 
Регистрация: 14.12.2018
Сообщений: 1
По умолчанию Вывод максимального и уникального элемента в массиве (java)

Добрый день! Работаю в среде eclipse.Я являюсь новичком в java.Нам задали следующее задание.Выводятся все элементы массива и максимальный элемент выводиться но не выводятся уникальные элементы.Подскажите пожалуйста что я делаю не так.
Вот задание-Напишите функцию с именем hasSingleMaximum, который принимает аргумент массива и возвращает 1, Если максимальное значение в аргументе массива происходит ровно один раз в массиве, в противном случае он возвращает 0.
Если вы пишете на Java или C#, сигнатура функции
int hasSingleMaximum (int[ ] a)
Вот код.


Код:
public class hasSingleMaximum {
    
    static int hasSingleMaximum (int [] a)
    {
        if(a==null || a.length==0) return 0;
        int maxNumber= a[0];
        int array=a.length;
        boolean alreadythere;
        
        for(int i=0; i<a.length; i++)
        {
            if(a[i]>maxNumber) maxNumber=a[i];
            System.out.println("Elements of array: "+a[i]);
            alreadythere=false;
            a[i]=array;
            for(int j=0; j<=i; j++)
            {
                if(a[j]==array)
                {
                    alreadythere=true;
                    break;
                    }
                }
            if(!alreadythere)
                a[i]=array;
        }
        
        System.out.println("array contains " + java.util.Arrays.toString(a));
        System.out.println("Max number is "+maxNumber);
        return 1;
    }
    
    public static void main(String args[])
    {
        hasSingleMaximum (new int [] {1,2,3,4,4,4,5,5});
    }
 
 
}
Вот результат:
Elements of array: 1
Elements of array: 2
Elements of array: 3
Elements of array: 4
Elements of array: 4
Elements of array: 4
Elements of array: 5
Elements of array: 5
array contains [8, 8, 8, 8, 8, 8, 8, 8] //Возникает ошибка.Выводятся только 8
Max number is 5


Заранее спасибо!
Perishte вне форума Ответить с цитированием
Старый 16.12.2018, 21:02   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Ну так вы сами длинной массива перезаписываете... аж два раза:
Код:
            a[i]=array;

            if(!alreadythere)
                a[i]=array;
p51x на форуме Ответить с цитированием
Старый 16.12.2018, 22:49   #3
JavaDoc
Пользователь
 
Регистрация: 15.12.2018
Сообщений: 16
По умолчанию

Код:
public class hasSingleMaximum {
    
    static int hasSingleMaximum (int [] a)
    { 
Int rsl =0;
        if(a==null || a.length==1) {return 1;}
        int maxNumber= a[0];
 //       int array=a.length; зачем??
        boolean alreadythere=false;
        
        for(int i=1; i<a.length; i++)
        {
            if(a[i]>maxNumber) {
maxNumber=a[i];
            alreadythere=false;
            } else if(a[i]==maxNumber){
alreadythere=true;
     }
}
If(!alreadythere){
rsl=1;}
        return rsl;
    }
    
    public static void main(String args[])
    {
       System.out.println( hasSingleMaximum (new int [] {1,2,3,4,4,4,5,5}));
    }
}
Строго не судить пишу с телефона
JavaDoc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi7.Поиск минимального и максимального элемента в массиве Tony Hudson Помощь студентам 4 05.03.2015 20:30
Поиск максимального четного элемента в массиве phreaker228 Помощь студентам 0 05.06.2011 14:44
Поиск максимального отрицательного элемента в массиве Tomoa Microsoft Office Excel 6 27.11.2009 15:10
Поиск максимального элемента в массиве Alexus999 Помощь студентам 8 08.06.2009 19:47