Перейти к содержимому

Как сравнить элементы массива между собой java

  • автор:

Как сравнить элементы массива java

compare — используется для сравнения двух массивов примитивного типа. Метод возвращает значение 0 , если массивы равны. В противном случае метод возвращает отрицательное значение, если первый массив меньше второго, и положительное значение, если первый массив больше второго.

int[] arr1 = 1, 2, 3>; int[] arr2 = 4, 5, 6>; int result = Arrays.compare(arr1, arr2); System.out.println(result); // => -1 

mismatch — используется для сравнения двух массивов примитивного типа. Метод возвращает индекс первого несовпадающего элемента. Если массивы равны, метод возвращает -1.

int[] arr1 = 1, 2, 3>; int[] arr2 = 1, 5, 6>; int result = Arrays.mismatch(arr1, arr2); System.out.println(result); // => 1 

Также можно использовать цикл for для сравнения элементов массива по индексу.

int[] arr1 = 1, 2, 3>; int[] arr2 = 1, 2, 3>; boolean result = true; for (int i = 0; i  arr1.length; i++)  if (arr1[i] != arr2[i])  result = false; break; > > System.out.println(result); // => true 

Как сравнить элементы массива между собой java

Что то тут в условии напутано, нафига сравнивать n-ый элемент массива с n-ым элементом массива, и без сравнения они абсолютно равны.

Цитата REC0N @ 22.12.11, 21:26
Не знаю где ошибка.

Тут тоже эльфов нема, телепатией никто, кого я знаю не обладает.

Ошибки, найти? Да запросто:

Цитата REC0N @ 22.12.11, 21:26

а следующее:
Цитата REC0N @ 22.12.11, 21:26
r1[i] = Convert::ToInt32(dataGridView3->Rows[i]->Cells[0]->Value);

Если nm — больше 10, то будет ошибка доступа к памяти

Цитата REC0N @ 22.12.11, 21:26
for(int i=0; iText=»Overlap»; > else < OverlapRichTb->Text=»Not Overlap»; >

Ты и вправду решил что тут все нормально? Вообще ты тут сравниваешь предыдущий элемент массива со следующим(это грубо говоря), это не смотря на это:

Цитата REC0N @ 22.12.11, 21:26
Подскажите алгоритм чтобы сравнить каждый элемент массива с каждым

Тобишь тоже ошибка.
Сообщ. #3 , 22.12.11, 21:46
Рейтинг (т): нет
Цитата KILLER @ 22.12.11, 21:34

Что то тут в условии напутано, нафига сравнивать n-ый элемент массива с n-ым элементом массива, и без сравнения они абсолютно равны.

Ошибки, найти? Да запросто:

Цитата REC0N @ 22.12.11, 21:26

а следующее:
Цитата REC0N @ 22.12.11, 21:26
r1[i] = Convert::ToInt32(dataGridView3->Rows[i]->Cells[0]->Value);

Если nm — больше 10, то будет ошибка доступа к памяти

1.Пример:
Массив 4 элемента(элементы любые)
Сравниваем 1-2,1-3,1-4
2-3 2-4
3-4
Думаю вы меня поняли

2.Hа nm не смотрите,суть не в этом,а в алгоритме

Сообщение отредактировано: REC0N — 22.12.11, 21:48
Сообщ. #4 , 22.12.11, 22:09
Unregistered
int arr_size = 4; //размер массива
for(int i =0 ; i < arr_size-1; i++) for(int z = i+1; z < arr_size; z++) if(arr[i] == arr[z]) // есть совпадение

А вообще крайне советую почитать «Объектно оРиентированное программирование на С++» — Лафоре

Сообщ. #5 , 22.12.11, 22:21
Рейтинг (т): нет
Цитата aster_x @ 22.12.11, 22:09
int arr_size = 4; //размер массива
for(int i =0 ; i < arr_size-1; i++) for(int z = i+1; z < arr_size; z++) if(arr[i] == arr[z]) // есть совпадение

А вообще крайне советую почитать «Объектно оРиентированное программирование на С++» — Лафоре

Да у меня так же было
P.S:Дело не в алгоритме!
Сообщение отредактировано: REC0N — 22.12.11, 22:21
Сообщ. #6 , 22.12.11, 22:38
Unregistered
Обрати внимание на слова.
Цитата KILLER @ 22.12.11, 21:34

а следующее:
Цитата (REC0N @ Вчера, 23:26)
r1[i] = Convert::ToInt32(dataGridView3->Rows[i]->Cells[0]->Value);

Если nm — больше 10, то будет ошибка доступа к памяти

1) Поставь на каждую строчку кода «BreakPoint» и посмотри под отладчиком где полезет ошибка.
2) Твой алгоритм такой же, извеняюсь втыкнул, в таком случае случае ошибки у тебя явно возникают где в другой части программы, ищи.

И старайся использовать отладчик, ок?

Сравнение значений массива Java [закрыт]

Закрыт. Этот вопрос не по теме. Ответы на него в данный момент не принимаются.

Сообщение содержит лишь текст задачи, в котором нет описания проблемы, либо вопрос чисто формален («как мне выполнить это задание»). Для повторного открытия вопроса, добавьте описание конкретной проблемы, поясните, что именно не получается, в чём вы видите проблему.

Закрыт 6 лет назад .

Есть массив, в нем n чисел (как дробных, так и целых). Стоит задача сравнить значения массива, и при совпадении — вывести на экран\записать в файл. Конкретно это используется в скрипте, который обеспечивает отображение действующих остатков на сайте при загрузке информации, сравниваются два массива (тот, который есть, и новый), и те значения, которые совпали, выводятся. К примеру, х = 1 и у = 1 . Как сделать так, чтобы если эти значения равны, то происходило действие (запись в файл, вывод и т.д.)? Как можно проверить значения на совпадение?

Как сравнить два массива java

Чтобы сравнить два массива в Java, можно использовать статический метод equals() класса Arrays . Он возвращает true , если два массива эквивалентны и false в другом случае.

String[] animals1 = "cat", "dog">; String[] animals2 = "cat", "dog">; Arrays.equals(animals1, animals2); // true String[] fruits = "apple", "pear">; Arrays.equals(animals1, fruits); // false 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *